@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
|
@@ -18,8 +18,20 @@ require("core-js/modules/es.object.define-properties.js");
|
|
|
18
18
|
|
|
19
19
|
require("core-js/modules/es.object.define-property.js");
|
|
20
20
|
|
|
21
|
+
require("core-js/modules/es.array.iterator.js");
|
|
22
|
+
|
|
23
|
+
require("core-js/modules/es.object.to-string.js");
|
|
24
|
+
|
|
25
|
+
require("core-js/modules/es.string.iterator.js");
|
|
26
|
+
|
|
27
|
+
require("core-js/modules/es.weak-map.js");
|
|
28
|
+
|
|
29
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
30
|
+
|
|
21
31
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
22
32
|
|
|
33
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
34
|
+
|
|
23
35
|
Object.defineProperty(exports, "__esModule", {
|
|
24
36
|
value: true
|
|
25
37
|
});
|
|
@@ -33,7 +45,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
33
45
|
|
|
34
46
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
35
47
|
|
|
36
|
-
var _react =
|
|
48
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
37
49
|
|
|
38
50
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
39
51
|
|
|
@@ -47,17 +59,24 @@ var _constants = require("../../../../constants");
|
|
|
47
59
|
|
|
48
60
|
var _constants2 = require("../../constants");
|
|
49
61
|
|
|
62
|
+
var _Wrapper = _interopRequireDefault(require("../../../Wrapper"));
|
|
63
|
+
|
|
50
64
|
var _helpers = require("../helpers");
|
|
51
65
|
|
|
52
|
-
var _excluded = ["orderedListData", "paginationType"],
|
|
66
|
+
var _excluded = ["orderedListData", "omitWrappers", "paginationType"],
|
|
53
67
|
_excluded2 = ["id"];
|
|
54
68
|
|
|
69
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
70
|
+
|
|
71
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
72
|
+
|
|
55
73
|
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; }
|
|
56
74
|
|
|
57
75
|
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) { (0, _defineProperty2["default"])(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; }
|
|
58
76
|
|
|
59
77
|
var FullRender = function FullRender(_ref) {
|
|
60
78
|
var orderedListData = _ref.orderedListData,
|
|
79
|
+
omitWrappers = _ref.omitWrappers,
|
|
61
80
|
paginationType = _ref.paginationType,
|
|
62
81
|
props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
63
82
|
var pageBuilderID = (0, _v["default"])();
|
|
@@ -75,7 +94,8 @@ var FullRender = function FullRender(_ref) {
|
|
|
75
94
|
type: _constants2.BANNER
|
|
76
95
|
}) : null;
|
|
77
96
|
var bannerIndex = 0;
|
|
78
|
-
|
|
97
|
+
var WrapperToUse = omitWrappers ? _react.Fragment : _Wrapper["default"];
|
|
98
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(WrapperToUse, {
|
|
79
99
|
className: "list list--full"
|
|
80
100
|
}, orderedListData.map(function (_ref2, i) {
|
|
81
101
|
var id = _ref2.id,
|
|
@@ -104,10 +124,12 @@ FullRender.propTypes = {
|
|
|
104
124
|
parent: _propTypes["default"].object.isRequired,
|
|
105
125
|
propsToDisplay: _propTypes["default"].array.isRequired,
|
|
106
126
|
entity: _propTypes["default"].string.isRequired,
|
|
127
|
+
omitWrappers: _propTypes["default"].bool,
|
|
107
128
|
hasBanner: _propTypes["default"].bool,
|
|
108
129
|
banner: _propTypes["default"].object
|
|
109
130
|
};
|
|
110
131
|
FullRender.defaultProps = {
|
|
132
|
+
omitWrappers: false,
|
|
111
133
|
hasBanner: false,
|
|
112
134
|
banner: null
|
|
113
135
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/List/components/Full/FullRender.js"],"names":["FullRender","orderedListData","paginationType","props","pageBuilderID","parent","entity","propsToDisplay","banner","hasBanner","bannerProps","type","BANNER","bannerIndex","map","i","id","entityProps","shouldRenderBanner","LOAD_MORE","propTypes","PropTypes","array","isRequired","string","object","bool","defaultProps"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/List/components/Full/FullRender.js"],"names":["FullRender","orderedListData","omitWrappers","paginationType","props","pageBuilderID","parent","entity","propsToDisplay","banner","hasBanner","bannerProps","type","BANNER","bannerIndex","WrapperToUse","Fragment","Wrapper","map","i","id","entityProps","shouldRenderBanner","LOAD_MORE","propTypes","PropTypes","array","isRequired","string","object","bool","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAAiE;AAAA,MAA9DC,eAA8D,QAA9DA,eAA8D;AAAA,MAA7CC,YAA6C,QAA7CA,YAA6C;AAAA,MAA/BC,cAA+B,QAA/BA,cAA+B;AAAA,MAAZC,KAAY;AAClF,MAAMC,aAAa,GAAG,oBAAtB;AACA,MAAQC,MAAR,GAA8DF,KAA9D,CAAQE,MAAR;AAAA,MAAgBC,MAAhB,GAA8DH,KAA9D,CAAgBG,MAAhB;AAAA,MAAwBC,cAAxB,GAA8DJ,KAA9D,CAAwBI,cAAxB;AAAA,MAAwCC,MAAxC,GAA8DL,KAA9D,CAAwCK,MAAxC;AAAA,MAAgDC,SAAhD,GAA8DN,KAA9D,CAAgDM,SAAhD;AACA,MAAMC,WAAW,GAAGF,MAAM;AACpBC,IAAAA,SAAS,EAATA,SADoB;AACTJ,IAAAA,MAAM,EAANA,MADS;AACDC,IAAAA,MAAM,EAANA,MADC;AACOC,IAAAA,cAAc,EAAdA;AADP,KAC0BC,MAD1B;AACkCG,IAAAA,IAAI,EAAEC;AADxC,OAEtB,IAFJ;AAGA,MAAIC,WAAW,GAAG,CAAlB;AAEA,MAAMC,YAAY,GAAGb,YAAY,GAAGc,eAAH,GAAcC,mBAA/C;AAEA,sBACE,+EACE,gCAAC,YAAD;AAAc,IAAA,SAAS,EAAC;AAAxB,KACGhB,eAAe,CAACiB,GAAhB,CAAoB,iBAAyBC,CAAzB,EAA+B;AAAA,QAA5BC,EAA4B,SAA5BA,EAA4B;AAAA,QAArBC,WAAqB;AAClD,QAAMC,kBAAkB,GAAG,CAAC,CAACX,WAAF,IAAiB,wCAA0BQ,CAA1B,EAA6BR,WAA7B,CAA5C;AACA,QAAIW,kBAAJ,EAAwBR,WAAW,IAAI,CAAf;AAExB,wBACE,gCAAC,0BAAD;AACE,MAAA,GAAG,EAAEM;AADP,OAEMhB,KAFN,EAGMiB,WAHN;AAIE,MAAA,KAAK,EAAEF,CAJT;AAKE,MAAA,MAAM,EAAEC,EALV;AAME,MAAA,aAAa,EAAEf,aANjB;AAOE,MAAA,WAAW,EAAEgB,WAPf;AAQE,MAAA,kBAAkB,EAAEC,kBARtB;AASE,MAAA,WAAW,EAAEX,WATf;AAUE,MAAA,WAAW,EAAEG;AAVf,OADF;AAcD,GAlBA,CADH,CADF,EAuBGX,cAAc,KAAKoB,oBAAnB,iBACC,gCAAC,sBAAD;AAAgB,IAAA,cAAc,EAAEpB;AAAhC,KAAoDC,KAApD,EAxBJ,CADF;AA6BD,CAvCD;;AAyCAJ,UAAU,CAACwB,SAAX,GAAuB;AACrBvB,EAAAA,eAAe,EAAEwB,sBAAUC,KAAV,CAAgBC,UADZ;AAErBxB,EAAAA,cAAc,EAAEsB,sBAAUG,MAAV,CAAiBD,UAFZ;AAGrBrB,EAAAA,MAAM,EAAEmB,sBAAUI,MAAV,CAAiBF,UAHJ;AAIrBnB,EAAAA,cAAc,EAAEiB,sBAAUC,KAAV,CAAgBC,UAJX;AAKrBpB,EAAAA,MAAM,EAAEkB,sBAAUG,MAAV,CAAiBD,UALJ;AAMrBzB,EAAAA,YAAY,EAAEuB,sBAAUK,IANH;AAOrBpB,EAAAA,SAAS,EAAEe,sBAAUK,IAPA;AAQrBrB,EAAAA,MAAM,EAAEgB,sBAAUI;AARG,CAAvB;AAWA7B,UAAU,CAAC+B,YAAX,GAA0B;AACxB7B,EAAAA,YAAY,EAAE,KADU;AAExBQ,EAAAA,SAAS,EAAE,KAFa;AAGxBD,EAAAA,MAAM,EAAE;AAHgB,CAA1B;eAMeT,U","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"}
|
|
@@ -55,6 +55,7 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
55
55
|
var data = _ref.data,
|
|
56
56
|
filters = _ref.filters,
|
|
57
57
|
buttonRef = _ref.buttonRef,
|
|
58
|
+
searchFilterRef = _ref.searchFilterRef,
|
|
58
59
|
hasUrl = _ref.hasUrl,
|
|
59
60
|
entity = _ref.entity,
|
|
60
61
|
handleSearch = _ref.handleSearch,
|
|
@@ -118,7 +119,8 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
118
119
|
className: formClass,
|
|
119
120
|
"data-testid": formId,
|
|
120
121
|
id: formId,
|
|
121
|
-
onSubmit: handleSearch
|
|
122
|
+
onSubmit: handleSearch,
|
|
123
|
+
ref: searchFilterRef
|
|
122
124
|
}, isMobileFormDisplayed && /*#__PURE__*/_react["default"].createElement(_CloseMobileForm["default"], {
|
|
123
125
|
handleClose: function handleClose() {
|
|
124
126
|
return setDisplaySearchFilter(false);
|
|
@@ -173,6 +175,7 @@ var SearchFilter = function SearchFilter(_ref) {
|
|
|
173
175
|
handleReset: resetFilters
|
|
174
176
|
})) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, isCollapsedOnResponsive && /*#__PURE__*/_react["default"].createElement("div", {
|
|
175
177
|
className: "filter__refine filter__refine--mobile-close",
|
|
178
|
+
ref: searchFilterRef,
|
|
176
179
|
"data-testid": "refine-mobile"
|
|
177
180
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
178
181
|
role: "button",
|
|
@@ -186,6 +189,7 @@ SearchFilter.propTypes = {
|
|
|
186
189
|
data: _propTypes["default"].object.isRequired,
|
|
187
190
|
filters: _propTypes["default"].array.isRequired,
|
|
188
191
|
buttonRef: _propTypes["default"].object.isRequired,
|
|
192
|
+
searchFilterRef: _propTypes["default"].object.isRequired,
|
|
189
193
|
hasUrl: _propTypes["default"].bool.isRequired,
|
|
190
194
|
entity: _propTypes["default"].string.isRequired,
|
|
191
195
|
handleSearch: _propTypes["default"].func.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"names":["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","SEARCH","REFINE","propTypes","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":["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","SEARCH","REFINE","propTypes","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"}
|
|
@@ -33,6 +33,10 @@ require("core-js/modules/es.array.sort.js");
|
|
|
33
33
|
|
|
34
34
|
require("core-js/modules/es.array.concat.js");
|
|
35
35
|
|
|
36
|
+
require("core-js/modules/es.date.now.js");
|
|
37
|
+
|
|
38
|
+
require("core-js/modules/es.date.to-string.js");
|
|
39
|
+
|
|
36
40
|
require("core-js/modules/es.array.for-each.js");
|
|
37
41
|
|
|
38
42
|
require("core-js/modules/web.dom-collections.for-each.js");
|
|
@@ -81,8 +85,14 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
|
|
|
81
85
|
displaySearchFilter = _useState2[0],
|
|
82
86
|
setDisplaySearchFilter = _useState2[1];
|
|
83
87
|
|
|
88
|
+
var _useState3 = (0, _react.useState)("filter-".concat(name)),
|
|
89
|
+
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
90
|
+
key = _useState4[0],
|
|
91
|
+
setKey = _useState4[1];
|
|
92
|
+
|
|
84
93
|
(0, _helpers.removeUpdatedRanges)();
|
|
85
94
|
var buttonRef = (0, _react.useRef)(null);
|
|
95
|
+
var searchFilterRef = (0, _react.useRef)(null);
|
|
86
96
|
var hasUrl = !!url;
|
|
87
97
|
|
|
88
98
|
var _parseUrl = (0, _queryString.parseUrl)(router.asPath),
|
|
@@ -102,24 +112,42 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
|
|
|
102
112
|
var updatedRanges = (0, _helpers.getUpdatedRanges)();
|
|
103
113
|
var queryParams = (0, _helpers.buildQueryParams)(e, filters, updatedRanges);
|
|
104
114
|
setDisplaySearchFilter(false);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
return
|
|
109
|
-
|
|
115
|
+
|
|
116
|
+
if (!queryParams) {
|
|
117
|
+
scrollToParent();
|
|
118
|
+
return router.push('/Resolver', baseQuery, {
|
|
119
|
+
shallow: !hasUrl,
|
|
120
|
+
scroll: false
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
|
|
110
124
|
var newUrl = (0, _helpers.buildNewQuery)(url, currentUrl, queryParams, sortValues);
|
|
125
|
+
scrollToParent();
|
|
111
126
|
return router.push('/Resolver', newUrl, {
|
|
112
|
-
shallow: !hasUrl
|
|
113
|
-
|
|
114
|
-
return window.scrollTo(0, 0);
|
|
127
|
+
shallow: !hasUrl,
|
|
128
|
+
scroll: false
|
|
115
129
|
});
|
|
116
130
|
};
|
|
117
131
|
|
|
132
|
+
var scrollToParent = function scrollToParent() {
|
|
133
|
+
if (searchFilterRef && searchFilterRef.current) {
|
|
134
|
+
window.scrollTo({
|
|
135
|
+
left: 0,
|
|
136
|
+
top: window.pageYOffset + searchFilterRef.current.parentNode.getBoundingClientRect().top,
|
|
137
|
+
behavior: 'smooth'
|
|
138
|
+
});
|
|
139
|
+
} else {
|
|
140
|
+
window.scrollTo(0, 0);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
118
144
|
var resetFilters = function resetFilters() {
|
|
145
|
+
scrollToParent();
|
|
119
146
|
router.push('/Resolver', baseQuery, {
|
|
120
|
-
shallow: !hasUrl
|
|
147
|
+
shallow: !hasUrl,
|
|
148
|
+
scroll: false
|
|
121
149
|
}).then(function () {
|
|
122
|
-
|
|
150
|
+
setKey("filter-".concat(name, ":").concat(Date.now()));
|
|
123
151
|
});
|
|
124
152
|
};
|
|
125
153
|
|
|
@@ -159,9 +187,11 @@ var SearchFilterContainer = function SearchFilterContainer(_ref) {
|
|
|
159
187
|
if (error) return error.message;
|
|
160
188
|
var shouldDisplayForm = !!filters.length && !loading;
|
|
161
189
|
return shouldDisplayForm ? /*#__PURE__*/_react["default"].createElement(_SearchFilter["default"], {
|
|
190
|
+
key: key,
|
|
162
191
|
data: data,
|
|
163
192
|
filters: filters,
|
|
164
193
|
buttonRef: buttonRef,
|
|
194
|
+
searchFilterRef: searchFilterRef,
|
|
165
195
|
hasUrl: hasUrl,
|
|
166
196
|
entity: entity,
|
|
167
197
|
handleSearch: handleSearch,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"names":["SearchFilterContainer","router","entity","url","filters","name","isCollapsedOnResponsive","groupAfter","displaySearchFilter","setDisplaySearchFilter","buttonRef","hasUrl","asPath","currentUrl","query","sort","sortby","sortValues","baseQuery","handleSearch","e","preventDefault","updatedRanges","queryParams","push","shallow","
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SearchFilter/SearchFilterContainer.js"],"names":["SearchFilterContainer","router","entity","url","filters","name","isCollapsedOnResponsive","groupAfter","displaySearchFilter","setDisplaySearchFilter","key","setKey","buttonRef","searchFilterRef","hasUrl","asPath","currentUrl","query","sort","sortby","sortValues","baseQuery","handleSearch","e","preventDefault","updatedRanges","queryParams","scrollToParent","push","shallow","scroll","newUrl","current","window","scrollTo","left","top","pageYOffset","parentNode","getBoundingClientRect","behavior","resetFilters","then","Date","now","action","RAW_RESULTS","rawQueryStringified","checkboxSelectValues","rangeValues","forEach","type","propsToDisplay","CHECKBOX_SELECT","includes","RANGE","docType","variables","limit","skip","data","error","loading","message","shouldDisplayForm","length","propTypes","PropTypes","object","isRequired","string","array","bool","number","defaultProps"],"mappings":"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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"}
|
|
@@ -39,6 +39,7 @@ const ListBuilder = props => {
|
|
|
39
39
|
sortby,
|
|
40
40
|
sort,
|
|
41
41
|
paginationIndex,
|
|
42
|
+
omitWrappers,
|
|
42
43
|
operator,
|
|
43
44
|
filterOperator,
|
|
44
45
|
currentSchema,
|
|
@@ -124,6 +125,7 @@ const ListBuilder = props => {
|
|
|
124
125
|
limitToUse: limitToUse,
|
|
125
126
|
itemsPerPageToUse: itemsPerPageToUse,
|
|
126
127
|
action: action,
|
|
128
|
+
omitWrappers: omitWrappers,
|
|
127
129
|
listComponent: listComponent,
|
|
128
130
|
listAggregations: updatedAggregations,
|
|
129
131
|
isAZ: isAZ,
|
|
@@ -149,6 +151,7 @@ ListBuilder.propTypes = {
|
|
|
149
151
|
entityData: PropTypes.object,
|
|
150
152
|
itemsToDisplay: PropTypes.array,
|
|
151
153
|
limit: PropTypes.number,
|
|
154
|
+
omitWrappers: PropTypes.bool,
|
|
152
155
|
offset: PropTypes.number,
|
|
153
156
|
sortby: PropTypes.array.isRequired,
|
|
154
157
|
sort: PropTypes.string.isRequired,
|
|
@@ -161,6 +164,7 @@ ListBuilder.defaultProps = {
|
|
|
161
164
|
entityData: {},
|
|
162
165
|
itemsToDisplay: [],
|
|
163
166
|
limit: 0,
|
|
167
|
+
omitWrappers: false,
|
|
164
168
|
offset: 0,
|
|
165
169
|
paginationType: 'infinite',
|
|
166
170
|
inheritedFilters: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/List/ListBuilder.js"],"names":["React","PropTypes","useQuery","getStringTypeProps","FullRender","CardsRender","ListRender","withInfiniteScroll","getSearchPublishedContent","buildRawQuery","buildQueryFields","buildSetFilters","getGenericRenderVariables","getEntityData","getCurrentOffset","getUpdatedFilterBy","checkPropsToUse","buildPropsQuery","sortAggs","getItemsPerPageToUse","buildAzAggregations","SEARCH_PUBLISHED_CONTENT","INFINITE","CLASSIC","RAW_RESULTS","ListBuilder","props","entitySchema","isCard","isAZ","inheritedFilters","paginationType","entity","isTextSearchFilterApplied","parent","itemId","itemsPerPage","itemsToDisplay","limit","propsToDisplay","offset","entityData","sortby","sort","paginationIndex","operator","filterOperator","currentSchema","filterEntitySchema","requiredSchema","searchValues","azFilter","listToUse","isInfinite","isNotClassic","propsToDisplayValues","entityFields","limitToUse","length","shouldApplyDefaultSort","itemsPerPageToUse","initialOffset","entityType","docType","fields","action","actionKey","updatedFilterBy","filterValues","filterBy","relations","stringProps","Object","values","azRawQuery","shouldReturnAggs","azVariables","JSON","stringify","azAction","data","error","loading","variables","skip","message","listAggregations","updatedAggregations","rawQuery","listComponent","propTypes","string","isRequired","object","bool","number","array","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/react-hooks';\nimport { getStringTypeProps } from '@blaze-cms/utils';\nimport { FullRender, CardsRender } from './components';\nimport ListRender from './ListRender';\nimport withInfiniteScroll from '../../HOC/withInfiniteScroll';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildRawQuery,\n buildQueryFields,\n buildSetFilters,\n getGenericRenderVariables,\n getEntityData,\n getCurrentOffset,\n getUpdatedFilterBy,\n checkPropsToUse,\n buildPropsQuery\n} from '../../helpers';\nimport { sortAggs, getItemsPerPageToUse, buildAzAggregations } from './helpers';\nimport { SEARCH_PUBLISHED_CONTENT, INFINITE, CLASSIC } from '../../constants';\nimport { RAW_RESULTS } from './constants';\n\nconst ListBuilder = props => {\n const {\n entitySchema,\n isCard,\n isAZ,\n inheritedFilters,\n paginationType,\n entity,\n isTextSearchFilterApplied,\n parent: { itemId },\n itemsPerPage,\n itemsToDisplay,\n limit,\n propsToDisplay,\n offset,\n entityData,\n sortby,\n sort,\n paginationIndex,\n operator,\n filterOperator,\n currentSchema,\n filterEntitySchema,\n requiredSchema,\n searchValues,\n azFilter\n } = props;\n const listToUse = isCard ? CardsRender : FullRender;\n const isInfinite = paginationType === INFINITE;\n const isNotClassic = paginationType !== CLASSIC;\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const entityFields = buildPropsQuery(entitySchema, propsToDisplayValues, props) || '';\n const limitToUse = limit || itemsToDisplay.length;\n const shouldApplyDefaultSort = !sortby || !sortby.length;\n const itemsPerPageToUse = getItemsPerPageToUse(itemsPerPage, limitToUse);\n const initialOffset = getCurrentOffset(offset, itemsPerPageToUse, paginationIndex, limitToUse);\n const { entityType, docType } = getEntityData(entity);\n const fields = buildQueryFields(entityFields, entityType, !isCard);\n const action = getSearchPublishedContent(fields);\n const actionKey = SEARCH_PUBLISHED_CONTENT;\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n props\n );\n\n const filterValues =\n updatedFilterBy && updatedFilterBy.length\n ? buildSetFilters({ ...props, filterBy: updatedFilterBy })\n : buildSetFilters({ ...props });\n\n const { relations = [] } = filterEntitySchema;\n const stringProps = getStringTypeProps(entity, relations, Object.values(requiredSchema));\n\n const azRawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: true, isAZ }\n );\n\n const azVariables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby\n },\n stringProps,\n JSON.stringify(azRawQuery),\n isTextSearchFilterApplied\n );\n\n const azAction = getSearchPublishedContent(RAW_RESULTS);\n const { data, error, loading } = useQuery(azAction, {\n variables: azVariables,\n skip: !isAZ\n });\n if (loading) return '';\n if (error) return error.message;\n\n const listAggregations = isAZ ? sortAggs(data) : [];\n const updatedAggregations = buildAzAggregations(listAggregations);\n\n const rawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps,\n azFilter\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: false, isAZ }\n );\n\n const variables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby\n },\n stringProps,\n JSON.stringify(rawQuery),\n isTextSearchFilterApplied\n );\n\n const listComponent = isNotClassic ? withInfiniteScroll(listToUse) : listToUse;\n\n return (\n <ListRender\n variables={variables}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n itemsPerPageToUse={itemsPerPageToUse}\n action={action}\n listComponent={listComponent}\n listAggregations={updatedAggregations}\n isAZ={isAZ}\n azFilter={azFilter}\n {...props}\n />\n );\n};\n\nListBuilder.propTypes = {\n entity: PropTypes.string.isRequired,\n entitySchema: PropTypes.object.isRequired,\n isCard: PropTypes.bool.isRequired,\n isAZ: PropTypes.bool.isRequired,\n isTextSearchFilterApplied: PropTypes.bool.isRequired,\n parent: PropTypes.object.isRequired,\n itemsPerPage: PropTypes.number.isRequired,\n paginationIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n currentSchema: PropTypes.object.isRequired,\n filterEntitySchema: PropTypes.object.isRequired,\n requiredSchema: PropTypes.object.isRequired,\n searchValues: PropTypes.object.isRequired,\n inheritedFilters: PropTypes.array,\n entityData: PropTypes.object,\n itemsToDisplay: PropTypes.array,\n limit: PropTypes.number,\n offset: PropTypes.number,\n sortby: PropTypes.array.isRequired,\n sort: PropTypes.string.isRequired,\n operator: PropTypes.string.isRequired,\n filterOperator: PropTypes.string.isRequired,\n paginationType: PropTypes.string,\n azFilter: PropTypes.string\n};\n\nListBuilder.defaultProps = {\n entityData: {},\n itemsToDisplay: [],\n limit: 0,\n offset: 0,\n paginationType: 'infinite',\n inheritedFilters: [],\n azFilter: ''\n};\n\nexport default ListBuilder;\n"],"file":"ListBuilder.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/List/ListBuilder.js"],"names":["React","PropTypes","useQuery","getStringTypeProps","FullRender","CardsRender","ListRender","withInfiniteScroll","getSearchPublishedContent","buildRawQuery","buildQueryFields","buildSetFilters","getGenericRenderVariables","getEntityData","getCurrentOffset","getUpdatedFilterBy","checkPropsToUse","buildPropsQuery","sortAggs","getItemsPerPageToUse","buildAzAggregations","SEARCH_PUBLISHED_CONTENT","INFINITE","CLASSIC","RAW_RESULTS","ListBuilder","props","entitySchema","isCard","isAZ","inheritedFilters","paginationType","entity","isTextSearchFilterApplied","parent","itemId","itemsPerPage","itemsToDisplay","limit","propsToDisplay","offset","entityData","sortby","sort","paginationIndex","omitWrappers","operator","filterOperator","currentSchema","filterEntitySchema","requiredSchema","searchValues","azFilter","listToUse","isInfinite","isNotClassic","propsToDisplayValues","entityFields","limitToUse","length","shouldApplyDefaultSort","itemsPerPageToUse","initialOffset","entityType","docType","fields","action","actionKey","updatedFilterBy","filterValues","filterBy","relations","stringProps","Object","values","azRawQuery","shouldReturnAggs","azVariables","JSON","stringify","azAction","data","error","loading","variables","skip","message","listAggregations","updatedAggregations","rawQuery","listComponent","propTypes","string","isRequired","object","bool","number","array","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/react-hooks';\nimport { getStringTypeProps } from '@blaze-cms/utils';\nimport { FullRender, CardsRender } from './components';\nimport ListRender from './ListRender';\nimport withInfiniteScroll from '../../HOC/withInfiniteScroll';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildRawQuery,\n buildQueryFields,\n buildSetFilters,\n getGenericRenderVariables,\n getEntityData,\n getCurrentOffset,\n getUpdatedFilterBy,\n checkPropsToUse,\n buildPropsQuery\n} from '../../helpers';\nimport { sortAggs, getItemsPerPageToUse, buildAzAggregations } from './helpers';\nimport { SEARCH_PUBLISHED_CONTENT, INFINITE, CLASSIC } from '../../constants';\nimport { RAW_RESULTS } from './constants';\n\nconst ListBuilder = props => {\n const {\n entitySchema,\n isCard,\n isAZ,\n inheritedFilters,\n paginationType,\n entity,\n isTextSearchFilterApplied,\n parent: { itemId },\n itemsPerPage,\n itemsToDisplay,\n limit,\n propsToDisplay,\n offset,\n entityData,\n sortby,\n sort,\n paginationIndex,\n omitWrappers,\n operator,\n filterOperator,\n currentSchema,\n filterEntitySchema,\n requiredSchema,\n searchValues,\n azFilter\n } = props;\n const listToUse = isCard ? CardsRender : FullRender;\n const isInfinite = paginationType === INFINITE;\n const isNotClassic = paginationType !== CLASSIC;\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const entityFields = buildPropsQuery(entitySchema, propsToDisplayValues, props) || '';\n const limitToUse = limit || itemsToDisplay.length;\n const shouldApplyDefaultSort = !sortby || !sortby.length;\n const itemsPerPageToUse = getItemsPerPageToUse(itemsPerPage, limitToUse);\n const initialOffset = getCurrentOffset(offset, itemsPerPageToUse, paginationIndex, limitToUse);\n const { entityType, docType } = getEntityData(entity);\n const fields = buildQueryFields(entityFields, entityType, !isCard);\n const action = getSearchPublishedContent(fields);\n const actionKey = SEARCH_PUBLISHED_CONTENT;\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n props\n );\n\n const filterValues =\n updatedFilterBy && updatedFilterBy.length\n ? buildSetFilters({ ...props, filterBy: updatedFilterBy })\n : buildSetFilters({ ...props });\n\n const { relations = [] } = filterEntitySchema;\n const stringProps = getStringTypeProps(entity, relations, Object.values(requiredSchema));\n\n const azRawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: true, isAZ }\n );\n\n const azVariables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby\n },\n stringProps,\n JSON.stringify(azRawQuery),\n isTextSearchFilterApplied\n );\n\n const azAction = getSearchPublishedContent(RAW_RESULTS);\n const { data, error, loading } = useQuery(azAction, {\n variables: azVariables,\n skip: !isAZ\n });\n if (loading) return '';\n if (error) return error.message;\n\n const listAggregations = isAZ ? sortAggs(data) : [];\n const updatedAggregations = buildAzAggregations(listAggregations);\n\n const rawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps,\n azFilter\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: false, isAZ }\n );\n\n const variables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby\n },\n stringProps,\n JSON.stringify(rawQuery),\n isTextSearchFilterApplied\n );\n\n const listComponent = isNotClassic ? withInfiniteScroll(listToUse) : listToUse;\n\n return (\n <ListRender\n variables={variables}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n itemsPerPageToUse={itemsPerPageToUse}\n action={action}\n omitWrappers={omitWrappers}\n listComponent={listComponent}\n listAggregations={updatedAggregations}\n isAZ={isAZ}\n azFilter={azFilter}\n {...props}\n />\n );\n};\n\nListBuilder.propTypes = {\n entity: PropTypes.string.isRequired,\n entitySchema: PropTypes.object.isRequired,\n isCard: PropTypes.bool.isRequired,\n isAZ: PropTypes.bool.isRequired,\n isTextSearchFilterApplied: PropTypes.bool.isRequired,\n parent: PropTypes.object.isRequired,\n itemsPerPage: PropTypes.number.isRequired,\n paginationIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n currentSchema: PropTypes.object.isRequired,\n filterEntitySchema: PropTypes.object.isRequired,\n requiredSchema: PropTypes.object.isRequired,\n searchValues: PropTypes.object.isRequired,\n inheritedFilters: PropTypes.array,\n entityData: PropTypes.object,\n itemsToDisplay: PropTypes.array,\n limit: PropTypes.number,\n omitWrappers: PropTypes.bool,\n offset: PropTypes.number,\n sortby: PropTypes.array.isRequired,\n sort: PropTypes.string.isRequired,\n operator: PropTypes.string.isRequired,\n filterOperator: PropTypes.string.isRequired,\n paginationType: PropTypes.string,\n azFilter: PropTypes.string\n};\n\nListBuilder.defaultProps = {\n entityData: {},\n itemsToDisplay: [],\n limit: 0,\n omitWrappers: false,\n offset: 0,\n paginationType: 'infinite',\n inheritedFilters: [],\n azFilter: ''\n};\n\nexport default ListBuilder;\n"],"file":"ListBuilder.js"}
|
|
@@ -25,6 +25,7 @@ const ListFactory = props => {
|
|
|
25
25
|
name,
|
|
26
26
|
filterByProperty,
|
|
27
27
|
filterBy,
|
|
28
|
+
omitWrappers,
|
|
28
29
|
type,
|
|
29
30
|
sortby: defaultSortBy,
|
|
30
31
|
sort: defaultSort,
|
|
@@ -137,6 +138,7 @@ const ListFactory = props => {
|
|
|
137
138
|
filterEntitySchema,
|
|
138
139
|
requiredSchema,
|
|
139
140
|
currentSchema,
|
|
141
|
+
omitWrappers,
|
|
140
142
|
operator,
|
|
141
143
|
isTextSearchFilterApplied,
|
|
142
144
|
paginationIndex,
|
|
@@ -154,6 +156,7 @@ ListFactory.propTypes = {
|
|
|
154
156
|
type: PropTypes.string.isRequired,
|
|
155
157
|
filterBy: PropTypes.array,
|
|
156
158
|
filterByProperty: PropTypes.array,
|
|
159
|
+
omitWrappers: PropTypes.bool,
|
|
157
160
|
operator: PropTypes.string,
|
|
158
161
|
name: PropTypes.string,
|
|
159
162
|
sortby: PropTypes.array,
|
|
@@ -163,6 +166,7 @@ ListFactory.propTypes = {
|
|
|
163
166
|
ListFactory.defaultProps = {
|
|
164
167
|
filterBy: [],
|
|
165
168
|
filterByProperty: [],
|
|
169
|
+
omitWrappers: false,
|
|
166
170
|
name: '',
|
|
167
171
|
sortby: [],
|
|
168
172
|
sort: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/List/ListFactory.js"],"names":["React","useContext","useQuery","parseUrl","PropTypes","useRouter","MainContext","getSingleEntitySchema","generateSingleItemQuery","ListBuilder","AZ_LIST_TYPE","getAzQueryFilter","getGenericProps","getRequiredSchemas","checkForError","getUnpublishedEntityName","getPaginationIndex","getSearchFilterType","getElasticsearchOperator","buildSearchValuesText","getQueryFilters","getInheritedFilters","getQueryProps","useGetEntitySchemasAsObj","AND_OPERATOR","TEXT_SEARCH","ID","AND","FULL","ListFactory","props","entity","parent","name","filterByProperty","filterBy","type","sortby","defaultSortBy","sort","defaultSort","searchFilter","operator","filterOperator","isPreview","router","asPath","parsedQuery","replace","query","url","querySort","querySortBy","itemEntity","itemId","itemEntityUpdated","paginationIndex","azFilter","data","entitySchema","error","schemaError","loading","schemaLoading","variables","id","mainSchemas","schemasLoading","schemasError","currentSchema","filterEntitySchema","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","queryProps","actions","getAction","get","getPublished","entityData","itemQueryError","itemQueryLoading","skip","length","errorsToCheck","hasErr","errMsg","isCard","isAZ","genericProps","textFilter","shouldApplyTextFilter","propsToDisplay","valuesText","valuesAnd","valuesOr","isTextSearchFilterApplied","search_term","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","propTypes","object","isRequired","string","array","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/react-hooks';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getSingleEntitySchema, generateSingleItemQuery } from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport { getAzQueryFilter } from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nconst ListFactory = props => {\n const {\n entity,\n parent,\n name,\n filterByProperty,\n filterBy,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n searchFilter,\n operator: filterOperator\n } = props;\n\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const { query, url, query: { sort: querySort, sortby: querySortBy } = {} } = parseUrl(\n parsedQuery\n );\n const sort = querySort || defaultSort;\n const sortby = querySortBy ? [querySortBy] : defaultSortBy || [];\n const { itemEntity, itemId } = parent;\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const paginationIndex = getPaginationIndex(query, name);\n const azFilter = getAzQueryFilter(query, name);\n\n const { data: entitySchema, error: schemaError, loading: schemaLoading } = useQuery(\n getSingleEntitySchema,\n {\n variables: { id: entity }\n }\n );\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([itemEntityUpdated, entity]);\n\n const {\n [itemEntityUpdated]: currentSchema = {},\n [entity]: filterEntitySchema = {}\n } = mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortby], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: itemId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n const errorsToCheck = [schemaError, schemasError, requiredSchemaError, itemQueryError];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (requiredSchemaLoading || schemasLoading || schemaLoading || itemQueryLoading) return '';\n if (hasErr) return errMsg;\n if (!entitySchema) return null;\n\n const isCard = type !== FULL;\n const isAZ = type === AZ_LIST_TYPE;\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter ? buildSearchValuesText(textFilter, query) : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, query);\n const isTextSearchFilterApplied = !!(\n query.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query,\n url,\n isCard,\n isAZ,\n router,\n entitySchema,\n sort,\n sortby,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n operator,\n isTextSearchFilterApplied,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator\n };\n\n return <ListBuilder {...listProps} />;\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n entity: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n searchFilter: PropTypes.object\n};\n\nListFactory.defaultProps = {\n filterBy: [],\n filterByProperty: [],\n name: '',\n sortby: [],\n sort: '',\n operator: AND,\n searchFilter: {}\n};\n\nexport default ListFactory;\n"],"file":"ListFactory.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/List/ListFactory.js"],"names":["React","useContext","useQuery","parseUrl","PropTypes","useRouter","MainContext","getSingleEntitySchema","generateSingleItemQuery","ListBuilder","AZ_LIST_TYPE","getAzQueryFilter","getGenericProps","getRequiredSchemas","checkForError","getUnpublishedEntityName","getPaginationIndex","getSearchFilterType","getElasticsearchOperator","buildSearchValuesText","getQueryFilters","getInheritedFilters","getQueryProps","useGetEntitySchemasAsObj","AND_OPERATOR","TEXT_SEARCH","ID","AND","FULL","ListFactory","props","entity","parent","name","filterByProperty","filterBy","omitWrappers","type","sortby","defaultSortBy","sort","defaultSort","searchFilter","operator","filterOperator","isPreview","router","asPath","parsedQuery","replace","query","url","querySort","querySortBy","itemEntity","itemId","itemEntityUpdated","paginationIndex","azFilter","data","entitySchema","error","schemaError","loading","schemaLoading","variables","id","mainSchemas","schemasLoading","schemasError","currentSchema","filterEntitySchema","requiredSchema","requiredSchemaLoading","requiredSchemaError","inheritedFilters","queryProps","actions","getAction","get","getPublished","entityData","itemQueryError","itemQueryLoading","skip","length","errorsToCheck","hasErr","errMsg","isCard","isAZ","genericProps","textFilter","shouldApplyTextFilter","propsToDisplay","valuesText","valuesAnd","valuesOr","isTextSearchFilterApplied","search_term","searchValues","searchValuesText","searchValuesCheckboxSelectRange","searchValuesCheckboxOr","listProps","propTypes","object","isRequired","string","array","bool","defaultProps"],"mappings":";;;;;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,SAASC,QAAT,QAAyB,qBAAzB;AACA,SAASC,QAAT,QAAyB,cAAzB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,WAAT,QAA4B,8BAA5B;AACA,SAASC,qBAAT,EAAgCC,uBAAhC,QAA+D,yBAA/D;AACA,OAAOC,WAAP,MAAwB,eAAxB;AACA,SAASC,YAAT,QAA6B,aAA7B;AACA,SAASC,gBAAT,QAAiC,WAAjC;AACA,SACEC,eADF,EAEEC,kBAFF,EAGEC,aAHF,EAIEC,wBAJF,EAKEC,kBALF,EAMEC,mBANF,EAOEC,wBAPF,EAQEC,qBARF,EASEC,eATF,EAUEC,mBAVF,EAWEC,aAXF,QAYO,eAZP;AAaA,SAASC,wBAAT,QAAyC,aAAzC;AACA,SAASC,YAAT,EAAuBC,WAAvB,EAAoCC,EAApC,EAAwCC,GAAxC,EAA6CC,IAA7C,QAAyD,iBAAzD;;AAEA,MAAMC,WAAW,GAAGC,KAAK,IAAI;AAC3B,QAAM;AACJC,IAAAA,MADI;AAEJC,IAAAA,MAFI;AAGJC,IAAAA,IAHI;AAIJC,IAAAA,gBAJI;AAKJC,IAAAA,QALI;AAMJC,IAAAA,YANI;AAOJC,IAAAA,IAPI;AAQJC,IAAAA,MAAM,EAAEC,aARJ;AASJC,IAAAA,IAAI,EAAEC,WATF;AAUJC,IAAAA,YAVI;AAWJC,IAAAA,QAAQ,EAAEC;AAXN,MAYFd,KAZJ;AAcA,QAAM;AAAEe,IAAAA;AAAF,MAAgB5C,UAAU,CAACK,WAAD,CAAhC;AACA,QAAMwC,MAAM,GAAGzC,SAAS,EAAxB;AACA,QAAM;AAAE0C,IAAAA;AAAF,MAAaD,MAAnB;AACA,QAAME,WAAW,GAAGD,MAAM,CAACE,OAAP,CAAe,MAAf,EAAuB,GAAvB,EAA4BA,OAA5B,CAAoC,MAApC,EAA4C,GAA5C,CAApB;AACA,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA,GAAT;AAAcD,IAAAA,KAAK,EAAE;AAAEV,MAAAA,IAAI,EAAEY,SAAR;AAAmBd,MAAAA,MAAM,EAAEe;AAA3B,QAA2C;AAAhE,MAAuElD,QAAQ,CACnF6C,WADmF,CAArF;AAGA,QAAMR,IAAI,GAAGY,SAAS,IAAIX,WAA1B;AACA,QAAMH,MAAM,GAAGe,WAAW,GAAG,CAACA,WAAD,CAAH,GAAmBd,aAAa,IAAI,EAA9D;AACA,QAAM;AAAEe,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAAyBvB,MAA/B;AACA,QAAMwB,iBAAiB,GAAGzC,wBAAwB,CAACuC,UAAD,CAAlD;AACA,QAAMG,eAAe,GAAGzC,kBAAkB,CAACkC,KAAD,EAAQjB,IAAR,CAA1C;AACA,QAAMyB,QAAQ,GAAG/C,gBAAgB,CAACuC,KAAD,EAAQjB,IAAR,CAAjC;AAEA,QAAM;AAAE0B,IAAAA,IAAI,EAAEC,YAAR;AAAsBC,IAAAA,KAAK,EAAEC,WAA7B;AAA0CC,IAAAA,OAAO,EAAEC;AAAnD,MAAqE9D,QAAQ,CACjFK,qBADiF,EAEjF;AACE0D,IAAAA,SAAS,EAAE;AAAEC,MAAAA,EAAE,EAAEnC;AAAN;AADb,GAFiF,CAAnF;AAMA,QAAM;AACJ4B,IAAAA,IAAI,EAAEQ,WAAW,GAAG,EADhB;AAEJJ,IAAAA,OAAO,EAAEK,cAFL;AAGJP,IAAAA,KAAK,EAAEQ;AAHH,MAIF9C,wBAAwB,CAAC,CAACiC,iBAAD,EAAoBzB,MAApB,CAAD,CAJ5B;AAMA,QAAM;AACJ,KAACyB,iBAAD,GAAqBc,aAAa,GAAG,EADjC;AAEJ,KAACvC,MAAD,GAAUwC,kBAAkB,GAAG;AAF3B,MAGFJ,WAHJ;AAKA,QAAM;AACJR,IAAAA,IAAI,EAAEa,cAAc,GAAG,EADnB;AAEJT,IAAAA,OAAO,EAAEU,qBAFL;AAGJZ,IAAAA,KAAK,EAAEa;AAHH,MAIFnD,wBAAwB,CAC1BV,kBAAkB,CAAC,CAAC,GAAGqB,gBAAJ,EAAsB,GAAGI,MAAzB,CAAD,EAAmCiC,kBAAnC,CADQ,EAE1BH,cAF0B,CAJ5B;AAQA,QAAMO,gBAAgB,GAAGtD,mBAAmB,CAACc,QAAD,EAAWD,gBAAX,CAA5C;AACA,QAAM0C,UAAU,GAAGtD,aAAa,CAACqD,gBAAD,EAAmBL,aAAnB,EAAkCC,kBAAlC,CAAhC;AACA,QAAM;AAAEM,IAAAA,OAAO,GAAG;AAAZ,MAAmBP,aAAa,IAAI,EAA1C;AACA,QAAMQ,SAAS,GAAGjC,SAAS,GAAGgC,OAAO,CAACE,GAAX,GAAiBF,OAAO,CAACG,YAApD;AAEA,QAAM;AACJrB,IAAAA,IAAI,EAAE;AAAEsB,MAAAA,UAAU,GAAG;AAAf,QAAsB,EADxB;AAEJpB,IAAAA,KAAK,EAAEqB,cAFH;AAGJnB,IAAAA,OAAO,EAAEoB;AAHL,MAIFjF,QAAQ,CAACM,uBAAuB,CAACsE,SAAD,EAAYF,UAAZ,CAAxB,EAAiD;AAC3DX,IAAAA,SAAS,EAAE;AAAEC,MAAAA,EAAE,EAAEX;AAAN,KADgD;AAE3D6B,IAAAA,IAAI,EAAEhB,cAAc,IAAK,CAACO,gBAAgB,CAACU,MAAlB,IAA4BT,UAAU,KAAKlD;AAFT,GAAjD,CAJZ;AAQA,QAAM4D,aAAa,GAAG,CAACxB,WAAD,EAAcO,YAAd,EAA4BK,mBAA5B,EAAiDQ,cAAjD,CAAtB;AACA,QAAM;AAAEK,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAqB1E,aAAa,CAACwE,aAAD,CAAxC;AAEA,MAAIb,qBAAqB,IAAIL,cAAzB,IAA2CJ,aAA3C,IAA4DmB,gBAAhE,EAAkF,OAAO,EAAP;AAClF,MAAII,MAAJ,EAAY,OAAOC,MAAP;AACZ,MAAI,CAAC5B,YAAL,EAAmB,OAAO,IAAP;AAEnB,QAAM6B,MAAM,GAAGpD,IAAI,KAAKT,IAAxB;AACA,QAAM8D,IAAI,GAAGrD,IAAI,KAAK3B,YAAtB;AACA,QAAMiF,YAAY,GAAG/E,eAAe,CAACkB,KAAD,CAApC;AACA,QAAM,CAAC8D,UAAD,IAAe3E,mBAAmB,CAACyB,YAAD,EAAejB,WAAf,CAAxC;AACA,QAAMoE,qBAAqB,GAAGD,UAAU,IAAIA,UAAU,CAACE,cAAX,CAA0BT,MAAtE;AACA,QAAM1C,QAAQ,GAAGkD,qBAAqB,GAAG3E,wBAAwB,CAAC0E,UAAD,CAA3B,GAA0CpE,YAAhF;AACA,QAAMuE,UAAU,GAAGF,qBAAqB,GAAG1E,qBAAqB,CAACyE,UAAD,EAAa1C,KAAb,CAAxB,GAA8C,EAAtF;AACA,QAAM;AAAE8C,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA0B7E,eAAe,CAACsB,YAAD,EAAeQ,KAAf,CAA/C;AACA,QAAMgD,yBAAyB,GAAG,CAAC,EACjChD,KAAK,CAACiD,WAAN,IACAzD,YADA,IAEAzB,mBAAmB,CAACyB,YAAD,EAAejB,WAAf,CAAnB,CAA+C4D,MAHd,CAAnC;AAMA,QAAMe,YAAY,GAAG;AACnBC,IAAAA,gBAAgB,EAAEN,UADC;AAEnBO,IAAAA,+BAA+B,EAAEN,SAFd;AAGnBO,IAAAA,sBAAsB,EAAEN;AAHL,GAArB;;AAKA,QAAMO,SAAS,iDACV1E,KADU,GAEV6D,YAFU;AAGbzC,IAAAA,KAHa;AAIbC,IAAAA,GAJa;AAKbsC,IAAAA,MALa;AAMbC,IAAAA,IANa;AAOb5C,IAAAA,MAPa;AAQbc,IAAAA,YARa;AASbpB,IAAAA,IATa;AAUbF,IAAAA,MAVa;AAWboB,IAAAA,QAXa;AAYb0C,IAAAA,YAZa;AAab7B,IAAAA,kBAba;AAcbC,IAAAA,cAda;AAebF,IAAAA,aAfa;AAgBblC,IAAAA,YAhBa;AAiBbO,IAAAA,QAjBa;AAkBbuD,IAAAA,yBAlBa;AAmBbzC,IAAAA,eAnBa;AAoBbwB,IAAAA,UApBa;AAqBbN,IAAAA,gBArBa;AAsBb/B,IAAAA;AAtBa,IAAf;;AAyBA,sBAAO,oBAAC,WAAD,EAAiB4D,SAAjB,CAAP;AACD,CAvHD;;AAyHA3E,WAAW,CAAC4E,SAAZ,GAAwB;AACtBzE,EAAAA,MAAM,EAAE5B,SAAS,CAACsG,MAAV,CAAiBC,UADH;AAEtB5E,EAAAA,MAAM,EAAE3B,SAAS,CAACwG,MAAV,CAAiBD,UAFH;AAGtBtE,EAAAA,IAAI,EAAEjC,SAAS,CAACwG,MAAV,CAAiBD,UAHD;AAItBxE,EAAAA,QAAQ,EAAE/B,SAAS,CAACyG,KAJE;AAKtB3E,EAAAA,gBAAgB,EAAE9B,SAAS,CAACyG,KALN;AAMtBzE,EAAAA,YAAY,EAAEhC,SAAS,CAAC0G,IANF;AAOtBnE,EAAAA,QAAQ,EAAEvC,SAAS,CAACwG,MAPE;AAQtB3E,EAAAA,IAAI,EAAE7B,SAAS,CAACwG,MARM;AAStBtE,EAAAA,MAAM,EAAElC,SAAS,CAACyG,KATI;AAUtBrE,EAAAA,IAAI,EAAEpC,SAAS,CAACwG,MAVM;AAWtBlE,EAAAA,YAAY,EAAEtC,SAAS,CAACsG;AAXF,CAAxB;AAcA7E,WAAW,CAACkF,YAAZ,GAA2B;AACzB5E,EAAAA,QAAQ,EAAE,EADe;AAEzBD,EAAAA,gBAAgB,EAAE,EAFO;AAGzBE,EAAAA,YAAY,EAAE,KAHW;AAIzBH,EAAAA,IAAI,EAAE,EAJmB;AAKzBK,EAAAA,MAAM,EAAE,EALiB;AAMzBE,EAAAA,IAAI,EAAE,EANmB;AAOzBG,EAAAA,QAAQ,EAAEhB,GAPe;AAQzBe,EAAAA,YAAY,EAAE;AARW,CAA3B;AAWA,eAAeb,WAAf","sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/react-hooks';\nimport { parseUrl } from 'query-string';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getSingleEntitySchema, generateSingleItemQuery } from '../../application/query';\nimport ListBuilder from './ListBuilder';\nimport { AZ_LIST_TYPE } from './constants';\nimport { getAzQueryFilter } from './helpers';\nimport {\n getGenericProps,\n getRequiredSchemas,\n checkForError,\n getUnpublishedEntityName,\n getPaginationIndex,\n getSearchFilterType,\n getElasticsearchOperator,\n buildSearchValuesText,\n getQueryFilters,\n getInheritedFilters,\n getQueryProps\n} from '../../helpers';\nimport { useGetEntitySchemasAsObj } from '../../hooks';\nimport { AND_OPERATOR, TEXT_SEARCH, ID, AND, FULL } from '../../constants';\n\nconst ListFactory = props => {\n const {\n entity,\n parent,\n name,\n filterByProperty,\n filterBy,\n omitWrappers,\n type,\n sortby: defaultSortBy,\n sort: defaultSort,\n searchFilter,\n operator: filterOperator\n } = props;\n\n const { isPreview } = useContext(MainContext);\n const router = useRouter();\n const { asPath } = router;\n const parsedQuery = asPath.replace(/%5D/g, ']').replace(/%5B/g, '[');\n const { query, url, query: { sort: querySort, sortby: querySortBy } = {} } = parseUrl(\n parsedQuery\n );\n const sort = querySort || defaultSort;\n const sortby = querySortBy ? [querySortBy] : defaultSortBy || [];\n const { itemEntity, itemId } = parent;\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const paginationIndex = getPaginationIndex(query, name);\n const azFilter = getAzQueryFilter(query, name);\n\n const { data: entitySchema, error: schemaError, loading: schemaLoading } = useQuery(\n getSingleEntitySchema,\n {\n variables: { id: entity }\n }\n );\n const {\n data: mainSchemas = {},\n loading: schemasLoading,\n error: schemasError\n } = useGetEntitySchemasAsObj([itemEntityUpdated, entity]);\n\n const {\n [itemEntityUpdated]: currentSchema = {},\n [entity]: filterEntitySchema = {}\n } = mainSchemas;\n\n const {\n data: requiredSchema = {},\n loading: requiredSchemaLoading,\n error: requiredSchemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortby], filterEntitySchema),\n schemasLoading\n );\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n const {\n data: { entityData = {} } = {},\n error: itemQueryError,\n loading: itemQueryLoading\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: itemId },\n skip: schemasLoading || (!inheritedFilters.length && queryProps === ID)\n });\n const errorsToCheck = [schemaError, schemasError, requiredSchemaError, itemQueryError];\n const { hasErr, errMsg } = checkForError(errorsToCheck);\n\n if (requiredSchemaLoading || schemasLoading || schemaLoading || itemQueryLoading) return '';\n if (hasErr) return errMsg;\n if (!entitySchema) return null;\n\n const isCard = type !== FULL;\n const isAZ = type === AZ_LIST_TYPE;\n const genericProps = getGenericProps(props);\n const [textFilter] = getSearchFilterType(searchFilter, TEXT_SEARCH);\n const shouldApplyTextFilter = textFilter && textFilter.propsToDisplay.length;\n const operator = shouldApplyTextFilter ? getElasticsearchOperator(textFilter) : AND_OPERATOR;\n const valuesText = shouldApplyTextFilter ? buildSearchValuesText(textFilter, query) : [];\n const { valuesAnd, valuesOr } = getQueryFilters(searchFilter, query);\n const isTextSearchFilterApplied = !!(\n query.search_term &&\n searchFilter &&\n getSearchFilterType(searchFilter, TEXT_SEARCH).length\n );\n\n const searchValues = {\n searchValuesText: valuesText,\n searchValuesCheckboxSelectRange: valuesAnd,\n searchValuesCheckboxOr: valuesOr\n };\n const listProps = {\n ...props,\n ...genericProps,\n query,\n url,\n isCard,\n isAZ,\n router,\n entitySchema,\n sort,\n sortby,\n azFilter,\n searchValues,\n filterEntitySchema,\n requiredSchema,\n currentSchema,\n omitWrappers,\n operator,\n isTextSearchFilterApplied,\n paginationIndex,\n entityData,\n inheritedFilters,\n filterOperator\n };\n\n return <ListBuilder {...listProps} />;\n};\n\nListFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n entity: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n filterBy: PropTypes.array,\n filterByProperty: PropTypes.array,\n omitWrappers: PropTypes.bool,\n operator: PropTypes.string,\n name: PropTypes.string,\n sortby: PropTypes.array,\n sort: PropTypes.string,\n searchFilter: PropTypes.object\n};\n\nListFactory.defaultProps = {\n filterBy: [],\n filterByProperty: [],\n omitWrappers: false,\n name: '',\n sortby: [],\n sort: '',\n operator: AND,\n searchFilter: {}\n};\n\nexport default ListFactory;\n"],"file":"ListFactory.js"}
|
|
@@ -18,6 +18,7 @@ const ListRender = props => {
|
|
|
18
18
|
limitToUse,
|
|
19
19
|
initialOffset,
|
|
20
20
|
isInfinite,
|
|
21
|
+
omitWrappers,
|
|
21
22
|
paginationType,
|
|
22
23
|
listComponent: ListComponent,
|
|
23
24
|
query,
|
|
@@ -60,6 +61,7 @@ const ListRender = props => {
|
|
|
60
61
|
actionKey: actionKey,
|
|
61
62
|
limitToUse: limitToUse,
|
|
62
63
|
fetchMore: fetchMore,
|
|
64
|
+
omitWrappers: omitWrappers,
|
|
63
65
|
itemsPerPageToUse: itemsPerPageToUse || listData.length,
|
|
64
66
|
listTotal: listTotal,
|
|
65
67
|
currentListLength: currentListLength,
|
|
@@ -91,6 +93,7 @@ ListRender.propTypes = {
|
|
|
91
93
|
limitToUse: PropTypes.number.isRequired,
|
|
92
94
|
initialOffset: PropTypes.number.isRequired,
|
|
93
95
|
isInfinite: PropTypes.bool.isRequired,
|
|
96
|
+
omitWrappers: PropTypes.bool,
|
|
94
97
|
query: PropTypes.object.isRequired,
|
|
95
98
|
url: PropTypes.string.isRequired,
|
|
96
99
|
listComponent: PropTypes.func.isRequired,
|
|
@@ -101,6 +104,7 @@ ListRender.propTypes = {
|
|
|
101
104
|
displayTotal: PropTypes.bool
|
|
102
105
|
};
|
|
103
106
|
ListRender.defaultProps = {
|
|
107
|
+
omitWrappers: false,
|
|
104
108
|
itemsToDisplay: [],
|
|
105
109
|
listAggregations: [],
|
|
106
110
|
displayTotal: false
|