@blaze-cms/react-page-builder 0.114.0-alpha.4 → 0.114.1
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 +39 -0
- package/lib/components/List/ListRender.js +3 -3
- package/lib/components/List/ListRender.js.map +1 -1
- package/lib/components/List/components/Header/ListHeader.js +4 -4
- package/lib/components/List/components/Header/ListHeader.js.map +1 -1
- package/lib/helpers/get-generic-render-variables.js +4 -2
- package/lib/helpers/get-generic-render-variables.js.map +1 -1
- package/lib/helpers/get-sort-by-field-name.js +5 -1
- package/lib/helpers/get-sort-by-field-name.js.map +1 -1
- package/lib-es/components/List/ListRender.js +3 -3
- package/lib-es/components/List/ListRender.js.map +1 -1
- package/lib-es/components/List/components/Header/ListHeader.js +4 -4
- package/lib-es/components/List/components/Header/ListHeader.js.map +1 -1
- package/lib-es/helpers/get-generic-render-variables.js +6 -2
- package/lib-es/helpers/get-generic-render-variables.js.map +1 -1
- package/lib-es/helpers/get-sort-by-field-name.js +3 -1
- package/lib-es/helpers/get-sort-by-field-name.js.map +1 -1
- package/package.json +3 -3
- package/src/components/List/ListRender.js +3 -5
- package/src/components/List/components/Header/ListHeader.js +4 -4
- package/src/helpers/get-generic-render-variables.js +7 -7
- package/src/helpers/get-sort-by-field-name.js +4 -1
- package/tests/unit/src/components/List/ListRender.test.js +1 -1
- package/tests/unit/src/components/List/components/Header/ListHeader.test.js +1 -1
- package/tests/unit/src/components/SearchFilter/components/Range.test.js +18 -0
- package/tests/unit/src/components/SearchFilter/components/__snapshots__/Range.test.js.snap +52 -2
- package/tests/unit/src/helpers/get-generic-render-variables.test.js +12 -0
- package/tests/unit/src/helpers/get-sort-by-field-name.test.js +16 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,45 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.114.1](https://github.com/thebyte9/blaze/compare/v0.114.1-alpha.1...v0.114.1) (2021-12-13)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @blaze-cms/react-page-builder
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [0.114.1-alpha.0](https://github.com/thebyte9/blaze/compare/v0.114.0...v0.114.1-alpha.0) (2021-12-09)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* add selected class to selected letter in A-Z filter ([#3255](https://github.com/thebyte9/blaze/issues/3255)) ([f82540b](https://github.com/thebyte9/blaze/commit/f82540b1793888f326a2597d2cc742f038392521))
|
|
20
|
+
* update range filter in react page builder ([#3254](https://github.com/thebyte9/blaze/issues/3254)) ([cf71584](https://github.com/thebyte9/blaze/commit/cf715849141161a04e2011f2e1d1d7c0895fac0e))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
# [0.114.0](https://github.com/thebyte9/blaze/compare/v0.114.0-alpha.6...v0.114.0) (2021-11-30)
|
|
27
|
+
|
|
28
|
+
**Note:** Version bump only for package @blaze-cms/react-page-builder
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
# [0.114.0-alpha.5](https://github.com/thebyte9/blaze/compare/v0.114.0-alpha.4...v0.114.0-alpha.5) (2021-11-30)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Bug Fixes
|
|
38
|
+
|
|
39
|
+
* handle legacy sortby property as a string ([#3235](https://github.com/thebyte9/blaze/issues/3235)) ([2d25fc3](https://github.com/thebyte9/blaze/commit/2d25fc3e55125fec711d4a06f78d35a6b26d443a))
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
6
45
|
# [0.114.0-alpha.4](https://github.com/thebyte9/blaze/compare/v0.114.0-alpha.3...v0.114.0-alpha.4) (2021-11-29)
|
|
7
46
|
|
|
8
47
|
**Note:** Version bump only for package @blaze-cms/react-page-builder
|
|
@@ -44,7 +44,7 @@ var ListRender = function ListRender(props) {
|
|
|
44
44
|
url = props.url,
|
|
45
45
|
listAggregations = props.listAggregations,
|
|
46
46
|
isAZ = props.isAZ,
|
|
47
|
-
|
|
47
|
+
azFilter = props.azFilter,
|
|
48
48
|
displayTotal = props.displayTotal;
|
|
49
49
|
|
|
50
50
|
var _useQuery = (0, _reactHooks.useQuery)(action, {
|
|
@@ -71,7 +71,7 @@ var ListRender = function ListRender(props) {
|
|
|
71
71
|
}), isAZ && /*#__PURE__*/_react["default"].createElement(_Header["default"], {
|
|
72
72
|
name: name,
|
|
73
73
|
listAggregations: listAggregations,
|
|
74
|
-
|
|
74
|
+
azFilter: azFilter
|
|
75
75
|
}), displayTotal && /*#__PURE__*/_react["default"].createElement("div", {
|
|
76
76
|
className: "list_total_results w-full text-left p-4"
|
|
77
77
|
}, "Total results: ", totalDisplay), /*#__PURE__*/_react["default"].createElement(ListComponent, (0, _extends2["default"])({
|
|
@@ -118,7 +118,7 @@ ListRender.propTypes = {
|
|
|
118
118
|
url: _propTypes["default"].string.isRequired,
|
|
119
119
|
listComponent: _propTypes["default"].func.isRequired,
|
|
120
120
|
isAZ: _propTypes["default"].bool.isRequired,
|
|
121
|
-
|
|
121
|
+
azFilter: _propTypes["default"].string.isRequired,
|
|
122
122
|
listAggregations: _propTypes["default"].array,
|
|
123
123
|
itemsToDisplay: _propTypes["default"].array,
|
|
124
124
|
displayTotal: _propTypes["default"].bool
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/List/ListRender.js"],"names":["ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","ListComponent","listComponent","query","url","listAggregations","isAZ","
|
|
1
|
+
{"version":3,"sources":["../../../src/components/List/ListRender.js"],"names":["ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","ListComponent","listComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","data","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","length","currentListLength","currentPage","Math","ceil","totalDisplay","LOAD_MORE","propTypes","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 azFilter,\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 <span className=\"list-top\" />\n {isAZ && <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />}\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 azFilter: 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"}
|
|
@@ -26,7 +26,7 @@ var _helpers = require("../../helpers");
|
|
|
26
26
|
var ListHeader = function ListHeader(_ref) {
|
|
27
27
|
var name = _ref.name,
|
|
28
28
|
listAggregations = _ref.listAggregations,
|
|
29
|
-
|
|
29
|
+
azFilter = _ref.azFilter;
|
|
30
30
|
var router = (0, _router.useRouter)();
|
|
31
31
|
var asPath = router.asPath;
|
|
32
32
|
|
|
@@ -38,7 +38,7 @@ var ListHeader = function ListHeader(_ref) {
|
|
|
38
38
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
39
39
|
className: "az_list_filter flex"
|
|
40
40
|
}, /*#__PURE__*/_react["default"].createElement("a", {
|
|
41
|
-
className: "az_list_filter_option".concat(!
|
|
41
|
+
className: "az_list_filter_option".concat(!azFilter ? ' selected' : '', " flex-grow"),
|
|
42
42
|
href: allHref,
|
|
43
43
|
onClick: function onClick(e) {
|
|
44
44
|
e.preventDefault();
|
|
@@ -54,7 +54,7 @@ var ListHeader = function ListHeader(_ref) {
|
|
|
54
54
|
className: "az_list_filter_option no_results flex-grow"
|
|
55
55
|
}, key);
|
|
56
56
|
var href = (0, _helpers.buildAzUrl)(query, name, key, url);
|
|
57
|
-
var isSelected =
|
|
57
|
+
var isSelected = azFilter === key.toLowerCase();
|
|
58
58
|
var className = "az_list_filter_option".concat(isSelected ? ' selected' : '', " flex-grow");
|
|
59
59
|
return /*#__PURE__*/_react["default"].createElement("a", {
|
|
60
60
|
key: key,
|
|
@@ -73,7 +73,7 @@ var ListHeader = function ListHeader(_ref) {
|
|
|
73
73
|
ListHeader.propTypes = {
|
|
74
74
|
listAggregations: _propTypes["default"].array.isRequired,
|
|
75
75
|
name: _propTypes["default"].string.isRequired,
|
|
76
|
-
|
|
76
|
+
azFilter: _propTypes["default"].string.isRequired
|
|
77
77
|
};
|
|
78
78
|
var _default = ListHeader;
|
|
79
79
|
exports["default"] = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/List/components/Header/ListHeader.js"],"names":["ListHeader","name","listAggregations","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/List/components/Header/ListHeader.js"],"names":["ListHeader","name","listAggregations","azFilter","router","asPath","url","query","allHref","e","preventDefault","push","shallow","map","key","count","doc_count","href","isSelected","toLowerCase","className","propTypes","PropTypes","array","isRequired","string"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAA0C;AAAA,MAAvCC,IAAuC,QAAvCA,IAAuC;AAAA,MAAjCC,gBAAiC,QAAjCA,gBAAiC;AAAA,MAAfC,QAAe,QAAfA,QAAe;AAC3D,MAAMC,MAAM,GAAG,wBAAf;AACA,MAAQC,MAAR,GAAmBD,MAAnB,CAAQC,MAAR;;AACA,kBAAuB,2BAASA,MAAT,CAAvB;AAAA,MAAQC,GAAR,aAAQA,GAAR;AAAA,MAAaC,KAAb,aAAaA,KAAb;;AACA,MAAMC,OAAO,GAAG,yBAAWD,KAAX,EAAkBN,IAAlB,EAAwB,EAAxB,EAA4BK,GAA5B,CAAhB;AAEA,sBACE;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE;AACE,IAAA,SAAS,iCAA0B,CAACH,QAAD,GAAY,WAAZ,GAA0B,EAApD,eADX;AAEE,IAAA,IAAI,EAAEK,OAFR;AAGE,IAAA,OAAO,EAAE,iBAAAC,CAAC,EAAI;AACZA,MAAAA,CAAC,CAACC,cAAF;AACA,aAAON,MAAM,CAACO,IAAP,CAAY,WAAZ,EAAyBH,OAAzB,EAAkC;AAAEI,QAAAA,OAAO,EAAE;AAAX,OAAlC,CAAP;AACD;AANH,WADF,EAUGV,gBAAgB,CAACW,GAAjB,CAAqB,iBAA+B;AAAA,QAA5BC,GAA4B,SAA5BA,GAA4B;AAAA,QAAZC,KAAY,SAAvBC,SAAuB;AACnD,QAAI,CAACD,KAAL,EACE,oBACE;AAAM,MAAA,GAAG,EAAED,GAAX;AAAgB,MAAA,SAAS,EAAC;AAA1B,OACGA,GADH,CADF;AAMF,QAAMG,IAAI,GAAG,yBAAWV,KAAX,EAAkBN,IAAlB,EAAwBa,GAAxB,EAA6BR,GAA7B,CAAb;AACA,QAAMY,UAAU,GAAGf,QAAQ,KAAKW,GAAG,CAACK,WAAJ,EAAhC;AACA,QAAMC,SAAS,kCAA2BF,UAAU,GAAG,WAAH,GAAiB,EAAtD,eAAf;AAEA,wBACE;AACE,MAAA,GAAG,EAAEJ,GADP;AAEE,MAAA,SAAS,EAAEM,SAFb;AAGE,MAAA,IAAI,EAAEH,IAHR;AAIE,MAAA,OAAO,EAAE,iBAAAR,CAAC,EAAI;AACZA,QAAAA,CAAC,CAACC,cAAF;AACA,eAAON,MAAM,CAACO,IAAP,CAAY,WAAZ,EAAyBM,IAAzB,EAA+B;AAAEL,UAAAA,OAAO,EAAE;AAAX,SAA/B,CAAP;AACD;AAPH,OAQGE,GARH,CADF;AAYD,GAxBA,CAVH,CADF;AAsCD,CA5CD;;AA8CAd,UAAU,CAACqB,SAAX,GAAuB;AACrBnB,EAAAA,gBAAgB,EAAEoB,sBAAUC,KAAV,CAAgBC,UADb;AAErBvB,EAAAA,IAAI,EAAEqB,sBAAUG,MAAV,CAAiBD,UAFF;AAGrBrB,EAAAA,QAAQ,EAAEmB,sBAAUG,MAAV,CAAiBD;AAHN,CAAvB;eAMexB,U","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { parseUrl } from 'query-string';\nimport { buildAzUrl } from '../../helpers';\n\nconst ListHeader = ({ name, listAggregations, azFilter }) => {\n const router = useRouter();\n const { asPath } = router;\n const { url, query } = parseUrl(asPath);\n const allHref = buildAzUrl(query, name, '', url);\n\n return (\n <div className=\"az_list_filter flex\">\n <a\n className={`az_list_filter_option${!azFilter ? ' selected' : ''} flex-grow`}\n href={allHref}\n onClick={e => {\n e.preventDefault();\n return router.push('/Resolver', allHref, { shallow: true });\n }}>\n ALL\n </a>\n {listAggregations.map(({ key, doc_count: count }) => {\n if (!count)\n return (\n <span key={key} className=\"az_list_filter_option no_results flex-grow\">\n {key}\n </span>\n );\n\n const href = buildAzUrl(query, name, key, url);\n const isSelected = azFilter === key.toLowerCase();\n const className = `az_list_filter_option${isSelected ? ' selected' : ''} flex-grow`;\n\n return (\n <a\n key={key}\n className={className}\n href={href}\n onClick={e => {\n e.preventDefault();\n return router.push('/Resolver', href, { shallow: true });\n }}>\n {key}\n </a>\n );\n })}\n </div>\n );\n};\n\nListHeader.propTypes = {\n listAggregations: PropTypes.array.isRequired,\n name: PropTypes.string.isRequired,\n azFilter: PropTypes.string.isRequired\n};\n\nexport default ListHeader;\n"],"file":"ListHeader.js"}
|
|
@@ -54,7 +54,9 @@ var buildSortValues = function buildSortValues(sortFilters, relations, stringPro
|
|
|
54
54
|
var sortValues = sortFilters.map(function (_ref) {
|
|
55
55
|
var sort = _ref.sort,
|
|
56
56
|
propsToDisplay = _ref.propsToDisplay;
|
|
57
|
-
|
|
57
|
+
if (!sort) return null;
|
|
58
|
+
var sortFieldName = (0, _getSortByFieldName["default"])(relations, propsToDisplay, stringProps);
|
|
59
|
+
return sortFieldName ? "".concat(sortFieldName, ":").concat(sort.toLowerCase()) : null;
|
|
58
60
|
}).filter(Boolean).join(',');
|
|
59
61
|
return {
|
|
60
62
|
sort: sortValues
|
|
@@ -72,7 +74,7 @@ var getCorrectSort = function getCorrectSort(relations, filterProps, stringProps
|
|
|
72
74
|
sortProperties = _filterProps$sortProp === void 0 ? [] : _filterProps$sortProp;
|
|
73
75
|
return buildSortValues([{
|
|
74
76
|
sort: sort,
|
|
75
|
-
propsToDisplay:
|
|
77
|
+
propsToDisplay: sortby
|
|
76
78
|
}].concat((0, _toConsumableArray2["default"])(sortProperties)), relations, stringProps);
|
|
77
79
|
};
|
|
78
80
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/helpers/get-generic-render-variables.js"],"names":["buildSortValues","sortFilters","relations","stringProps","length","sort","sortValues","map","propsToDisplay","toLowerCase","filter","Boolean","join","getCorrectSort","filterProps","isTextSearchApplied","sortby","sortProperties","getGenericRenderVariables","rawQueryStringified","isTextSearchFilterApplied","limit","DEFAULT_LIMIT","offset","raw","Number","DEFAULT_OFFSET"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,WAAD,EAAcC,SAAd,EAAyBC,WAAzB,EAAyC;AAC/D,MAAI,CAACF,WAAD,IAAgB,CAACA,WAAW,CAACG,MAAjC,EAAyC,OAAO;AAAEC,IAAAA,IAAI,EAAE;AAAR,GAAP;AACzC,MAAMC,UAAU,GAAGL,WAAW,CAC3BM,GADgB,
|
|
1
|
+
{"version":3,"sources":["../../src/helpers/get-generic-render-variables.js"],"names":["buildSortValues","sortFilters","relations","stringProps","length","sort","sortValues","map","propsToDisplay","sortFieldName","toLowerCase","filter","Boolean","join","getCorrectSort","filterProps","isTextSearchApplied","sortby","sortProperties","getGenericRenderVariables","rawQueryStringified","isTextSearchFilterApplied","limit","DEFAULT_LIMIT","offset","raw","Number","DEFAULT_OFFSET"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,WAAD,EAAcC,SAAd,EAAyBC,WAAzB,EAAyC;AAC/D,MAAI,CAACF,WAAD,IAAgB,CAACA,WAAW,CAACG,MAAjC,EAAyC,OAAO;AAAEC,IAAAA,IAAI,EAAE;AAAR,GAAP;AACzC,MAAMC,UAAU,GAAGL,WAAW,CAC3BM,GADgB,CACZ,gBAA8B;AAAA,QAA3BF,IAA2B,QAA3BA,IAA2B;AAAA,QAArBG,cAAqB,QAArBA,cAAqB;AACjC,QAAI,CAACH,IAAL,EAAW,OAAO,IAAP;AAEX,QAAMI,aAAa,GAAG,oCAAmBP,SAAnB,EAA8BM,cAA9B,EAA8CL,WAA9C,CAAtB;AACA,WAAOM,aAAa,aAAMA,aAAN,cAAuBJ,IAAI,CAACK,WAAL,EAAvB,IAA8C,IAAlE;AACD,GANgB,EAOhBC,MAPgB,CAOTC,OAPS,EAQhBC,IARgB,CAQX,GARW,CAAnB;AAUA,SAAO;AAAER,IAAAA,IAAI,EAAEC;AAAR,GAAP;AACD,CAbD;;AAcA,IAAMQ,cAAc,GAAG,SAAjBA,cAAiB,CAACZ,SAAD,EAAYa,WAAZ,EAAyBZ,WAAzB,EAAsCa,mBAAtC,EAA8D;AACnF,MAAIA,mBAAJ,EAAyB;AACvB,WAAO,EAAP;AACD;;AACD,MAAQX,IAAR,GAA8CU,WAA9C,CAAQV,IAAR;AAAA,MAAcY,MAAd,GAA8CF,WAA9C,CAAcE,MAAd;AAAA,8BAA8CF,WAA9C,CAAsBG,cAAtB;AAAA,MAAsBA,cAAtB,sCAAuC,EAAvC;AAEA,SAAOlB,eAAe,EACnB;AAAEK,IAAAA,IAAI,EAAJA,IAAF;AAAQG,IAAAA,cAAc,EAAES;AAAxB,GADmB,6CACkBC,cADlB,IAEpBhB,SAFoB,EAGpBC,WAHoB,CAAtB;AAKD,CAXD;;AAaA,IAAMgB,yBAAyB,GAAG,SAA5BA,yBAA4B,CAChCjB,SADgC,EAM7B;AAAA,MAJHa,WAIG,uEAJW,EAIX;AAAA,MAHHZ,WAGG,uEAHW,EAGX;AAAA,MAFHiB,mBAEG,uEAFmB,EAEnB;AAAA,MADHC,yBACG,uEADyB,KACzB;AACH,2BAA0CN,WAA1C,CAAQO,KAAR;AAAA,MAAQA,KAAR,mCAAgBC,wBAAhB;AAAA,MAA+BC,MAA/B,GAA0CT,WAA1C,CAA+BS,MAA/B;AACA,MAAMnB,IAAI,GAAGS,cAAc,CAACZ,SAAD,EAAYa,WAAZ,EAAyBZ,WAAzB,EAAsCkB,yBAAtC,CAA3B;AACA,MAAMI,GAAG,GAAGL,mBAAmB,GAAG;AAAEA,IAAAA,mBAAmB,EAAnBA;AAAF,GAAH,GAA6B,EAA5D;AAEA;AACEE,IAAAA,KAAK,EAAEI,MAAM,CAACJ,KAAK,IAAIC,wBAAV,CADf;AAEEC,IAAAA,MAAM,EAAEE,MAAM,CAACF,MAAM,IAAIG,yBAAX;AAFhB,KAGKtB,IAHL,GAIKoB,GAJL;AAMD,CAjBD;;eAmBeN,yB","sourcesContent":["import getSortbyFieldName from './get-sort-by-field-name';\nimport { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\n\nconst buildSortValues = (sortFilters, relations, stringProps) => {\n if (!sortFilters || !sortFilters.length) return { sort: [] };\n const sortValues = sortFilters\n .map(({ sort, propsToDisplay }) => {\n if (!sort) return null;\n\n const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);\n return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;\n })\n .filter(Boolean)\n .join(',');\n\n return { sort: sortValues };\n};\nconst getCorrectSort = (relations, filterProps, stringProps, isTextSearchApplied) => {\n if (isTextSearchApplied) {\n return {};\n }\n const { sort, sortby, sortProperties = [] } = filterProps;\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...sortProperties],\n relations,\n stringProps\n );\n};\n\nconst getGenericRenderVariables = (\n relations,\n filterProps = {},\n stringProps = [],\n rawQueryStringified = '',\n isTextSearchFilterApplied = false\n) => {\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const sort = getCorrectSort(relations, filterProps, stringProps, isTextSearchFilterApplied);\n const raw = rawQueryStringified ? { rawQueryStringified } : {};\n\n return {\n limit: Number(limit || DEFAULT_LIMIT),\n offset: Number(offset || DEFAULT_OFFSET),\n ...sort,\n ...raw\n };\n};\n\nexport default getGenericRenderVariables;\n"],"file":"get-generic-render-variables.js"}
|
|
@@ -11,6 +11,8 @@ exports["default"] = void 0;
|
|
|
11
11
|
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
13
|
|
|
14
|
+
require("core-js/modules/es.array.is-array.js");
|
|
15
|
+
|
|
14
16
|
require("core-js/modules/es.array.includes.js");
|
|
15
17
|
|
|
16
18
|
require("core-js/modules/es.string.includes.js");
|
|
@@ -25,7 +27,9 @@ require("core-js/modules/es.array.concat.js");
|
|
|
25
27
|
|
|
26
28
|
var _constants = require("../constants");
|
|
27
29
|
|
|
28
|
-
var buildFieldName = function buildFieldName(relations,
|
|
30
|
+
var buildFieldName = function buildFieldName(relations, fieldValue, stringProps) {
|
|
31
|
+
var field = Array.isArray(fieldValue) ? fieldValue[0] : fieldValue;
|
|
32
|
+
if (!field) return null;
|
|
29
33
|
var updatedField = field;
|
|
30
34
|
|
|
31
35
|
if (field.includes('.')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/helpers/get-sort-by-field-name.js"],"names":["buildFieldName","relations","
|
|
1
|
+
{"version":3,"sources":["../../src/helpers/get-sort-by-field-name.js"],"names":["buildFieldName","relations","fieldValue","stringProps","field","Array","isArray","updatedField","includes","split","relationName","relationProp","filter","localField","relation","entityIdentifier","KEYWORD","getSortbyFieldName","sortby","isSortbyArray"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,SAAD,EAAYC,UAAZ,EAAwBC,WAAxB,EAAwC;AAC7D,MAAMC,KAAK,GAAGC,KAAK,CAACC,OAAN,CAAcJ,UAAd,IAA4BA,UAAU,CAAC,CAAD,CAAtC,GAA4CA,UAA1D;AACA,MAAI,CAACE,KAAL,EAAY,OAAO,IAAP;AAEZ,MAAIG,YAAY,GAAGH,KAAnB;;AAEA,MAAIA,KAAK,CAACI,QAAN,CAAe,GAAf,CAAJ,EAAyB;AACvB,uBAAqCJ,KAAK,CAACK,KAAN,CAAY,GAAZ,CAArC;AAAA;AAAA,QAAOC,YAAP;AAAA,QAAqBC,YAArB;;AAEA,4BAAmBV,SAAS,CAACW,MAAV,CAAiB;AAAA,UAAGC,UAAH,QAAGA,UAAH;AAAA,aAAoBA,UAAU,KAAKH,YAAnC;AAAA,KAAjB,CAAnB;AAAA;AAAA,QAAOI,QAAP;;AACA,gBAAkCA,QAAQ,IAAI,EAA9C;AAAA,sCAAQC,gBAAR;AAAA,QAAQA,gBAAR,sCAA2B,EAA3B;;AACA,QAAIA,gBAAgB,IAAIA,gBAAgB,KAAKL,YAA7C,EACEH,YAAY,aAAMQ,gBAAN,cAA0BJ,YAA1B,CAAZ;AACH;;AACD,SAAOR,WAAW,CAACK,QAAZ,CAAqBD,YAArB,cAAwCH,KAAxC,cAAiDY,kBAAjD,IAA6DZ,KAApE;AACD,CAfD;;AAiBA,IAAMa,kBAAkB,GAAG,SAArBA,kBAAqB,CAAChB,SAAD,EAAYiB,MAAZ,EAAoBf,WAApB,EAAiCgB,aAAjC;AAAA,SACzBA,aAAa,GACTnB,cAAc,CAACC,SAAD,EAAYiB,MAAM,CAAC,CAAD,CAAlB,EAAuBf,WAAvB,CADL,GAETH,cAAc,CAACC,SAAD,EAAYiB,MAAZ,EAAoBf,WAApB,CAHO;AAAA,CAA3B;;eAKec,kB","sourcesContent":["import { KEYWORD } from '../constants';\n\nconst buildFieldName = (relations, fieldValue, stringProps) => {\n const field = Array.isArray(fieldValue) ? fieldValue[0] : fieldValue;\n if (!field) return null;\n\n let updatedField = field;\n\n if (field.includes('.')) {\n const [relationName, relationProp] = field.split('.');\n\n const [relation] = relations.filter(({ localField }) => localField === relationName);\n const { entityIdentifier = '' } = relation || {};\n if (entityIdentifier && entityIdentifier !== relationName)\n updatedField = `${entityIdentifier}.${relationProp}`;\n }\n return stringProps.includes(updatedField) ? `${field}.${KEYWORD}` : field;\n};\n\nconst getSortbyFieldName = (relations, sortby, stringProps, isSortbyArray) =>\n isSortbyArray\n ? buildFieldName(relations, sortby[0], stringProps)\n : buildFieldName(relations, sortby, stringProps);\n\nexport default getSortbyFieldName;\n"],"file":"get-sort-by-field-name.js"}
|
|
@@ -25,7 +25,7 @@ const ListRender = props => {
|
|
|
25
25
|
url,
|
|
26
26
|
listAggregations,
|
|
27
27
|
isAZ,
|
|
28
|
-
|
|
28
|
+
azFilter,
|
|
29
29
|
displayTotal
|
|
30
30
|
} = props;
|
|
31
31
|
const {
|
|
@@ -53,7 +53,7 @@ const ListRender = props => {
|
|
|
53
53
|
}), isAZ && /*#__PURE__*/React.createElement(ListHeader, {
|
|
54
54
|
name: name,
|
|
55
55
|
listAggregations: listAggregations,
|
|
56
|
-
|
|
56
|
+
azFilter: azFilter
|
|
57
57
|
}), displayTotal && /*#__PURE__*/React.createElement("div", {
|
|
58
58
|
className: "list_total_results w-full text-left p-4"
|
|
59
59
|
}, "Total results: ", totalDisplay), /*#__PURE__*/React.createElement(ListComponent, _extends({
|
|
@@ -100,7 +100,7 @@ ListRender.propTypes = {
|
|
|
100
100
|
url: PropTypes.string.isRequired,
|
|
101
101
|
listComponent: PropTypes.func.isRequired,
|
|
102
102
|
isAZ: PropTypes.bool.isRequired,
|
|
103
|
-
|
|
103
|
+
azFilter: PropTypes.string.isRequired,
|
|
104
104
|
listAggregations: PropTypes.array,
|
|
105
105
|
itemsToDisplay: PropTypes.array,
|
|
106
106
|
displayTotal: PropTypes.bool
|
|
@@ -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","omitWrappers","paginationType","listComponent","ListComponent","query","url","listAggregations","isAZ","
|
|
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","azFilter","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 azFilter,\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 <span className=\"list-top\" />\n {isAZ && <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />}\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 azFilter: 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"}
|
|
@@ -7,7 +7,7 @@ import { buildAzUrl } from '../../helpers';
|
|
|
7
7
|
const ListHeader = ({
|
|
8
8
|
name,
|
|
9
9
|
listAggregations,
|
|
10
|
-
|
|
10
|
+
azFilter
|
|
11
11
|
}) => {
|
|
12
12
|
const router = useRouter();
|
|
13
13
|
const {
|
|
@@ -21,7 +21,7 @@ const ListHeader = ({
|
|
|
21
21
|
return /*#__PURE__*/React.createElement("div", {
|
|
22
22
|
className: "az_list_filter flex"
|
|
23
23
|
}, /*#__PURE__*/React.createElement("a", {
|
|
24
|
-
className: `az_list_filter_option${!
|
|
24
|
+
className: `az_list_filter_option${!azFilter ? ' selected' : ''} flex-grow`,
|
|
25
25
|
href: allHref,
|
|
26
26
|
onClick: e => {
|
|
27
27
|
e.preventDefault();
|
|
@@ -38,7 +38,7 @@ const ListHeader = ({
|
|
|
38
38
|
className: "az_list_filter_option no_results flex-grow"
|
|
39
39
|
}, key);
|
|
40
40
|
const href = buildAzUrl(query, name, key, url);
|
|
41
|
-
const isSelected =
|
|
41
|
+
const isSelected = azFilter === key.toLowerCase();
|
|
42
42
|
const className = `az_list_filter_option${isSelected ? ' selected' : ''} flex-grow`;
|
|
43
43
|
return /*#__PURE__*/React.createElement("a", {
|
|
44
44
|
key: key,
|
|
@@ -57,7 +57,7 @@ const ListHeader = ({
|
|
|
57
57
|
ListHeader.propTypes = {
|
|
58
58
|
listAggregations: PropTypes.array.isRequired,
|
|
59
59
|
name: PropTypes.string.isRequired,
|
|
60
|
-
|
|
60
|
+
azFilter: PropTypes.string.isRequired
|
|
61
61
|
};
|
|
62
62
|
export default ListHeader;
|
|
63
63
|
//# sourceMappingURL=ListHeader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/List/components/Header/ListHeader.js"],"names":["React","PropTypes","useRouter","parseUrl","buildAzUrl","ListHeader","name","listAggregations","
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/List/components/Header/ListHeader.js"],"names":["React","PropTypes","useRouter","parseUrl","buildAzUrl","ListHeader","name","listAggregations","azFilter","router","asPath","url","query","allHref","e","preventDefault","push","shallow","map","key","doc_count","count","href","isSelected","toLowerCase","className","propTypes","array","isRequired","string"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,QAAT,QAAyB,cAAzB;AACA,SAASC,UAAT,QAA2B,eAA3B;;AAEA,MAAMC,UAAU,GAAG,CAAC;AAAEC,EAAAA,IAAF;AAAQC,EAAAA,gBAAR;AAA0BC,EAAAA;AAA1B,CAAD,KAA0C;AAC3D,QAAMC,MAAM,GAAGP,SAAS,EAAxB;AACA,QAAM;AAAEQ,IAAAA;AAAF,MAAaD,MAAnB;AACA,QAAM;AAAEE,IAAAA,GAAF;AAAOC,IAAAA;AAAP,MAAiBT,QAAQ,CAACO,MAAD,CAA/B;AACA,QAAMG,OAAO,GAAGT,UAAU,CAACQ,KAAD,EAAQN,IAAR,EAAc,EAAd,EAAkBK,GAAlB,CAA1B;AAEA,sBACE;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE;AACE,IAAA,SAAS,EAAG,wBAAuB,CAACH,QAAD,GAAY,WAAZ,GAA0B,EAAG,YADlE;AAEE,IAAA,IAAI,EAAEK,OAFR;AAGE,IAAA,OAAO,EAAEC,CAAC,IAAI;AACZA,MAAAA,CAAC,CAACC,cAAF;AACA,aAAON,MAAM,CAACO,IAAP,CAAY,WAAZ,EAAyBH,OAAzB,EAAkC;AAAEI,QAAAA,OAAO,EAAE;AAAX,OAAlC,CAAP;AACD;AANH,WADF,EAUGV,gBAAgB,CAACW,GAAjB,CAAqB,CAAC;AAAEC,IAAAA,GAAF;AAAOC,IAAAA,SAAS,EAAEC;AAAlB,GAAD,KAA+B;AACnD,QAAI,CAACA,KAAL,EACE,oBACE;AAAM,MAAA,GAAG,EAAEF,GAAX;AAAgB,MAAA,SAAS,EAAC;AAA1B,OACGA,GADH,CADF;AAMF,UAAMG,IAAI,GAAGlB,UAAU,CAACQ,KAAD,EAAQN,IAAR,EAAca,GAAd,EAAmBR,GAAnB,CAAvB;AACA,UAAMY,UAAU,GAAGf,QAAQ,KAAKW,GAAG,CAACK,WAAJ,EAAhC;AACA,UAAMC,SAAS,GAAI,wBAAuBF,UAAU,GAAG,WAAH,GAAiB,EAAG,YAAxE;AAEA,wBACE;AACE,MAAA,GAAG,EAAEJ,GADP;AAEE,MAAA,SAAS,EAAEM,SAFb;AAGE,MAAA,IAAI,EAAEH,IAHR;AAIE,MAAA,OAAO,EAAER,CAAC,IAAI;AACZA,QAAAA,CAAC,CAACC,cAAF;AACA,eAAON,MAAM,CAACO,IAAP,CAAY,WAAZ,EAAyBM,IAAzB,EAA+B;AAAEL,UAAAA,OAAO,EAAE;AAAX,SAA/B,CAAP;AACD;AAPH,OAQGE,GARH,CADF;AAYD,GAxBA,CAVH,CADF;AAsCD,CA5CD;;AA8CAd,UAAU,CAACqB,SAAX,GAAuB;AACrBnB,EAAAA,gBAAgB,EAAEN,SAAS,CAAC0B,KAAV,CAAgBC,UADb;AAErBtB,EAAAA,IAAI,EAAEL,SAAS,CAAC4B,MAAV,CAAiBD,UAFF;AAGrBpB,EAAAA,QAAQ,EAAEP,SAAS,CAAC4B,MAAV,CAAiBD;AAHN,CAAvB;AAMA,eAAevB,UAAf","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { parseUrl } from 'query-string';\nimport { buildAzUrl } from '../../helpers';\n\nconst ListHeader = ({ name, listAggregations, azFilter }) => {\n const router = useRouter();\n const { asPath } = router;\n const { url, query } = parseUrl(asPath);\n const allHref = buildAzUrl(query, name, '', url);\n\n return (\n <div className=\"az_list_filter flex\">\n <a\n className={`az_list_filter_option${!azFilter ? ' selected' : ''} flex-grow`}\n href={allHref}\n onClick={e => {\n e.preventDefault();\n return router.push('/Resolver', allHref, { shallow: true });\n }}>\n ALL\n </a>\n {listAggregations.map(({ key, doc_count: count }) => {\n if (!count)\n return (\n <span key={key} className=\"az_list_filter_option no_results flex-grow\">\n {key}\n </span>\n );\n\n const href = buildAzUrl(query, name, key, url);\n const isSelected = azFilter === key.toLowerCase();\n const className = `az_list_filter_option${isSelected ? ' selected' : ''} flex-grow`;\n\n return (\n <a\n key={key}\n className={className}\n href={href}\n onClick={e => {\n e.preventDefault();\n return router.push('/Resolver', href, { shallow: true });\n }}>\n {key}\n </a>\n );\n })}\n </div>\n );\n};\n\nListHeader.propTypes = {\n listAggregations: PropTypes.array.isRequired,\n name: PropTypes.string.isRequired,\n azFilter: PropTypes.string.isRequired\n};\n\nexport default ListHeader;\n"],"file":"ListHeader.js"}
|
|
@@ -14,7 +14,11 @@ const buildSortValues = (sortFilters, relations, stringProps) => {
|
|
|
14
14
|
const sortValues = sortFilters.map(({
|
|
15
15
|
sort,
|
|
16
16
|
propsToDisplay
|
|
17
|
-
}) =>
|
|
17
|
+
}) => {
|
|
18
|
+
if (!sort) return null;
|
|
19
|
+
const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);
|
|
20
|
+
return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;
|
|
21
|
+
}).filter(Boolean).join(',');
|
|
18
22
|
return {
|
|
19
23
|
sort: sortValues
|
|
20
24
|
};
|
|
@@ -32,7 +36,7 @@ const getCorrectSort = (relations, filterProps, stringProps, isTextSearchApplied
|
|
|
32
36
|
} = filterProps;
|
|
33
37
|
return buildSortValues([{
|
|
34
38
|
sort,
|
|
35
|
-
propsToDisplay:
|
|
39
|
+
propsToDisplay: sortby
|
|
36
40
|
}, ...sortProperties], relations, stringProps);
|
|
37
41
|
};
|
|
38
42
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/helpers/get-generic-render-variables.js"],"names":["getSortbyFieldName","DEFAULT_LIMIT","DEFAULT_OFFSET","buildSortValues","sortFilters","relations","stringProps","length","sort","sortValues","map","propsToDisplay","toLowerCase","filter","Boolean","join","getCorrectSort","filterProps","isTextSearchApplied","sortby","sortProperties","getGenericRenderVariables","rawQueryStringified","isTextSearchFilterApplied","limit","offset","raw","Number"],"mappings":";;;;;;AAAA,OAAOA,kBAAP,MAA+B,0BAA/B;AACA,SAASC,aAAT,EAAwBC,cAAxB,QAA8C,cAA9C;;AAEA,MAAMC,eAAe,GAAG,CAACC,WAAD,EAAcC,SAAd,EAAyBC,WAAzB,KAAyC;AAC/D,MAAI,CAACF,WAAD,IAAgB,CAACA,WAAW,CAACG,MAAjC,EAAyC,OAAO;AAAEC,IAAAA,IAAI,EAAE;AAAR,GAAP;AACzC,QAAMC,UAAU,GAAGL,WAAW,CAC3BM,GADgB,
|
|
1
|
+
{"version":3,"sources":["../../src/helpers/get-generic-render-variables.js"],"names":["getSortbyFieldName","DEFAULT_LIMIT","DEFAULT_OFFSET","buildSortValues","sortFilters","relations","stringProps","length","sort","sortValues","map","propsToDisplay","sortFieldName","toLowerCase","filter","Boolean","join","getCorrectSort","filterProps","isTextSearchApplied","sortby","sortProperties","getGenericRenderVariables","rawQueryStringified","isTextSearchFilterApplied","limit","offset","raw","Number"],"mappings":";;;;;;AAAA,OAAOA,kBAAP,MAA+B,0BAA/B;AACA,SAASC,aAAT,EAAwBC,cAAxB,QAA8C,cAA9C;;AAEA,MAAMC,eAAe,GAAG,CAACC,WAAD,EAAcC,SAAd,EAAyBC,WAAzB,KAAyC;AAC/D,MAAI,CAACF,WAAD,IAAgB,CAACA,WAAW,CAACG,MAAjC,EAAyC,OAAO;AAAEC,IAAAA,IAAI,EAAE;AAAR,GAAP;AACzC,QAAMC,UAAU,GAAGL,WAAW,CAC3BM,GADgB,CACZ,CAAC;AAAEF,IAAAA,IAAF;AAAQG,IAAAA;AAAR,GAAD,KAA8B;AACjC,QAAI,CAACH,IAAL,EAAW,OAAO,IAAP;AAEX,UAAMI,aAAa,GAAGZ,kBAAkB,CAACK,SAAD,EAAYM,cAAZ,EAA4BL,WAA5B,CAAxC;AACA,WAAOM,aAAa,GAAI,GAAEA,aAAc,IAAGJ,IAAI,CAACK,WAAL,EAAmB,EAA1C,GAA8C,IAAlE;AACD,GANgB,EAOhBC,MAPgB,CAOTC,OAPS,EAQhBC,IARgB,CAQX,GARW,CAAnB;AAUA,SAAO;AAAER,IAAAA,IAAI,EAAEC;AAAR,GAAP;AACD,CAbD;;AAcA,MAAMQ,cAAc,GAAG,CAACZ,SAAD,EAAYa,WAAZ,EAAyBZ,WAAzB,EAAsCa,mBAAtC,KAA8D;AACnF,MAAIA,mBAAJ,EAAyB;AACvB,WAAO,EAAP;AACD;;AACD,QAAM;AAAEX,IAAAA,IAAF;AAAQY,IAAAA,MAAR;AAAgBC,IAAAA,cAAc,GAAG;AAAjC,MAAwCH,WAA9C;AAEA,SAAOf,eAAe,CACpB,CAAC;AAAEK,IAAAA,IAAF;AAAQG,IAAAA,cAAc,EAAES;AAAxB,GAAD,EAAmC,GAAGC,cAAtC,CADoB,EAEpBhB,SAFoB,EAGpBC,WAHoB,CAAtB;AAKD,CAXD;;AAaA,MAAMgB,yBAAyB,GAAG,CAChCjB,SADgC,EAEhCa,WAAW,GAAG,EAFkB,EAGhCZ,WAAW,GAAG,EAHkB,EAIhCiB,mBAAmB,GAAG,EAJU,EAKhCC,yBAAyB,GAAG,KALI,KAM7B;AACH,QAAM;AAAEC,IAAAA,KAAK,GAAGxB,aAAV;AAAyByB,IAAAA;AAAzB,MAAoCR,WAA1C;AACA,QAAMV,IAAI,GAAGS,cAAc,CAACZ,SAAD,EAAYa,WAAZ,EAAyBZ,WAAzB,EAAsCkB,yBAAtC,CAA3B;AACA,QAAMG,GAAG,GAAGJ,mBAAmB,GAAG;AAAEA,IAAAA;AAAF,GAAH,GAA6B,EAA5D;AAEA;AACEE,IAAAA,KAAK,EAAEG,MAAM,CAACH,KAAK,IAAIxB,aAAV,CADf;AAEEyB,IAAAA,MAAM,EAAEE,MAAM,CAACF,MAAM,IAAIxB,cAAX;AAFhB,KAGKM,IAHL,GAIKmB,GAJL;AAMD,CAjBD;;AAmBA,eAAeL,yBAAf","sourcesContent":["import getSortbyFieldName from './get-sort-by-field-name';\nimport { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\n\nconst buildSortValues = (sortFilters, relations, stringProps) => {\n if (!sortFilters || !sortFilters.length) return { sort: [] };\n const sortValues = sortFilters\n .map(({ sort, propsToDisplay }) => {\n if (!sort) return null;\n\n const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);\n return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;\n })\n .filter(Boolean)\n .join(',');\n\n return { sort: sortValues };\n};\nconst getCorrectSort = (relations, filterProps, stringProps, isTextSearchApplied) => {\n if (isTextSearchApplied) {\n return {};\n }\n const { sort, sortby, sortProperties = [] } = filterProps;\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...sortProperties],\n relations,\n stringProps\n );\n};\n\nconst getGenericRenderVariables = (\n relations,\n filterProps = {},\n stringProps = [],\n rawQueryStringified = '',\n isTextSearchFilterApplied = false\n) => {\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const sort = getCorrectSort(relations, filterProps, stringProps, isTextSearchFilterApplied);\n const raw = rawQueryStringified ? { rawQueryStringified } : {};\n\n return {\n limit: Number(limit || DEFAULT_LIMIT),\n offset: Number(offset || DEFAULT_OFFSET),\n ...sort,\n ...raw\n };\n};\n\nexport default getGenericRenderVariables;\n"],"file":"get-generic-render-variables.js"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { KEYWORD } from '../constants';
|
|
2
2
|
|
|
3
|
-
const buildFieldName = (relations,
|
|
3
|
+
const buildFieldName = (relations, fieldValue, stringProps) => {
|
|
4
|
+
const field = Array.isArray(fieldValue) ? fieldValue[0] : fieldValue;
|
|
5
|
+
if (!field) return null;
|
|
4
6
|
let updatedField = field;
|
|
5
7
|
|
|
6
8
|
if (field.includes('.')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/helpers/get-sort-by-field-name.js"],"names":["KEYWORD","buildFieldName","relations","
|
|
1
|
+
{"version":3,"sources":["../../src/helpers/get-sort-by-field-name.js"],"names":["KEYWORD","buildFieldName","relations","fieldValue","stringProps","field","Array","isArray","updatedField","includes","relationName","relationProp","split","relation","filter","localField","entityIdentifier","getSortbyFieldName","sortby","isSortbyArray"],"mappings":"AAAA,SAASA,OAAT,QAAwB,cAAxB;;AAEA,MAAMC,cAAc,GAAG,CAACC,SAAD,EAAYC,UAAZ,EAAwBC,WAAxB,KAAwC;AAC7D,QAAMC,KAAK,GAAGC,KAAK,CAACC,OAAN,CAAcJ,UAAd,IAA4BA,UAAU,CAAC,CAAD,CAAtC,GAA4CA,UAA1D;AACA,MAAI,CAACE,KAAL,EAAY,OAAO,IAAP;AAEZ,MAAIG,YAAY,GAAGH,KAAnB;;AAEA,MAAIA,KAAK,CAACI,QAAN,CAAe,GAAf,CAAJ,EAAyB;AACvB,UAAM,CAACC,YAAD,EAAeC,YAAf,IAA+BN,KAAK,CAACO,KAAN,CAAY,GAAZ,CAArC;AAEA,UAAM,CAACC,QAAD,IAAaX,SAAS,CAACY,MAAV,CAAiB,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAoBA,UAAU,KAAKL,YAApD,CAAnB;AACA,UAAM;AAAEM,MAAAA,gBAAgB,GAAG;AAArB,QAA4BH,QAAQ,IAAI,EAA9C;AACA,QAAIG,gBAAgB,IAAIA,gBAAgB,KAAKN,YAA7C,EACEF,YAAY,GAAI,GAAEQ,gBAAiB,IAAGL,YAAa,EAAnD;AACH;;AACD,SAAOP,WAAW,CAACK,QAAZ,CAAqBD,YAArB,IAAsC,GAAEH,KAAM,IAAGL,OAAQ,EAAzD,GAA6DK,KAApE;AACD,CAfD;;AAiBA,MAAMY,kBAAkB,GAAG,CAACf,SAAD,EAAYgB,MAAZ,EAAoBd,WAApB,EAAiCe,aAAjC,KACzBA,aAAa,GACTlB,cAAc,CAACC,SAAD,EAAYgB,MAAM,CAAC,CAAD,CAAlB,EAAuBd,WAAvB,CADL,GAETH,cAAc,CAACC,SAAD,EAAYgB,MAAZ,EAAoBd,WAApB,CAHpB;;AAKA,eAAea,kBAAf","sourcesContent":["import { KEYWORD } from '../constants';\n\nconst buildFieldName = (relations, fieldValue, stringProps) => {\n const field = Array.isArray(fieldValue) ? fieldValue[0] : fieldValue;\n if (!field) return null;\n\n let updatedField = field;\n\n if (field.includes('.')) {\n const [relationName, relationProp] = field.split('.');\n\n const [relation] = relations.filter(({ localField }) => localField === relationName);\n const { entityIdentifier = '' } = relation || {};\n if (entityIdentifier && entityIdentifier !== relationName)\n updatedField = `${entityIdentifier}.${relationProp}`;\n }\n return stringProps.includes(updatedField) ? `${field}.${KEYWORD}` : field;\n};\n\nconst getSortbyFieldName = (relations, sortby, stringProps, isSortbyArray) =>\n isSortbyArray\n ? buildFieldName(relations, sortby[0], stringProps)\n : buildFieldName(relations, sortby, stringProps);\n\nexport default getSortbyFieldName;\n"],"file":"get-sort-by-field-name.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/react-page-builder",
|
|
3
|
-
"version": "0.114.
|
|
3
|
+
"version": "0.114.1",
|
|
4
4
|
"description": "Blaze react page builder",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@blaze-react/drafteditor": "0.7.0",
|
|
39
39
|
"@blaze-react/input": "0.5.30",
|
|
40
40
|
"@blaze-react/modal": "0.5.19",
|
|
41
|
-
"@blaze-react/range-filter": "0.7.
|
|
41
|
+
"@blaze-react/range-filter": "0.7.2",
|
|
42
42
|
"@blaze-react/select": "0.5.19",
|
|
43
43
|
"@blaze-react/utils": "0.5.15",
|
|
44
44
|
"core-js": "^3.2.1",
|
|
@@ -88,5 +88,5 @@
|
|
|
88
88
|
"lib/*",
|
|
89
89
|
"lib-es/*"
|
|
90
90
|
],
|
|
91
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "1d435cf8ef574beded3154484eddce884af28ee8"
|
|
92
92
|
}
|
|
@@ -24,7 +24,7 @@ const ListRender = props => {
|
|
|
24
24
|
url,
|
|
25
25
|
listAggregations,
|
|
26
26
|
isAZ,
|
|
27
|
-
|
|
27
|
+
azFilter,
|
|
28
28
|
displayTotal
|
|
29
29
|
} = props;
|
|
30
30
|
const { data = {}, error, loading, fetchMore } = useQuery(action, {
|
|
@@ -46,9 +46,7 @@ const ListRender = props => {
|
|
|
46
46
|
return (
|
|
47
47
|
<>
|
|
48
48
|
<span className="list-top" />
|
|
49
|
-
{isAZ &&
|
|
50
|
-
<ListHeader name={name} listAggregations={listAggregations} azFilterToUse={azFilterToUse} />
|
|
51
|
-
)}
|
|
49
|
+
{isAZ && <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />}
|
|
52
50
|
{displayTotal && (
|
|
53
51
|
<div className="list_total_results w-full text-left p-4">Total results: {totalDisplay}</div>
|
|
54
52
|
)}
|
|
@@ -102,7 +100,7 @@ ListRender.propTypes = {
|
|
|
102
100
|
url: PropTypes.string.isRequired,
|
|
103
101
|
listComponent: PropTypes.func.isRequired,
|
|
104
102
|
isAZ: PropTypes.bool.isRequired,
|
|
105
|
-
|
|
103
|
+
azFilter: PropTypes.string.isRequired,
|
|
106
104
|
listAggregations: PropTypes.array,
|
|
107
105
|
itemsToDisplay: PropTypes.array,
|
|
108
106
|
displayTotal: PropTypes.bool
|
|
@@ -4,7 +4,7 @@ import { useRouter } from 'next/router';
|
|
|
4
4
|
import { parseUrl } from 'query-string';
|
|
5
5
|
import { buildAzUrl } from '../../helpers';
|
|
6
6
|
|
|
7
|
-
const ListHeader = ({ name, listAggregations,
|
|
7
|
+
const ListHeader = ({ name, listAggregations, azFilter }) => {
|
|
8
8
|
const router = useRouter();
|
|
9
9
|
const { asPath } = router;
|
|
10
10
|
const { url, query } = parseUrl(asPath);
|
|
@@ -13,7 +13,7 @@ const ListHeader = ({ name, listAggregations, azFilterToUse }) => {
|
|
|
13
13
|
return (
|
|
14
14
|
<div className="az_list_filter flex">
|
|
15
15
|
<a
|
|
16
|
-
className={`az_list_filter_option${!
|
|
16
|
+
className={`az_list_filter_option${!azFilter ? ' selected' : ''} flex-grow`}
|
|
17
17
|
href={allHref}
|
|
18
18
|
onClick={e => {
|
|
19
19
|
e.preventDefault();
|
|
@@ -30,7 +30,7 @@ const ListHeader = ({ name, listAggregations, azFilterToUse }) => {
|
|
|
30
30
|
);
|
|
31
31
|
|
|
32
32
|
const href = buildAzUrl(query, name, key, url);
|
|
33
|
-
const isSelected =
|
|
33
|
+
const isSelected = azFilter === key.toLowerCase();
|
|
34
34
|
const className = `az_list_filter_option${isSelected ? ' selected' : ''} flex-grow`;
|
|
35
35
|
|
|
36
36
|
return (
|
|
@@ -53,7 +53,7 @@ const ListHeader = ({ name, listAggregations, azFilterToUse }) => {
|
|
|
53
53
|
ListHeader.propTypes = {
|
|
54
54
|
listAggregations: PropTypes.array.isRequired,
|
|
55
55
|
name: PropTypes.string.isRequired,
|
|
56
|
-
|
|
56
|
+
azFilter: PropTypes.string.isRequired
|
|
57
57
|
};
|
|
58
58
|
|
|
59
59
|
export default ListHeader;
|
|
@@ -4,12 +4,12 @@ import { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';
|
|
|
4
4
|
const buildSortValues = (sortFilters, relations, stringProps) => {
|
|
5
5
|
if (!sortFilters || !sortFilters.length) return { sort: [] };
|
|
6
6
|
const sortValues = sortFilters
|
|
7
|
-
.map(
|
|
8
|
-
(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
)
|
|
7
|
+
.map(({ sort, propsToDisplay }) => {
|
|
8
|
+
if (!sort) return null;
|
|
9
|
+
|
|
10
|
+
const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);
|
|
11
|
+
return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;
|
|
12
|
+
})
|
|
13
13
|
.filter(Boolean)
|
|
14
14
|
.join(',');
|
|
15
15
|
|
|
@@ -22,7 +22,7 @@ const getCorrectSort = (relations, filterProps, stringProps, isTextSearchApplied
|
|
|
22
22
|
const { sort, sortby, sortProperties = [] } = filterProps;
|
|
23
23
|
|
|
24
24
|
return buildSortValues(
|
|
25
|
-
[{ sort, propsToDisplay:
|
|
25
|
+
[{ sort, propsToDisplay: sortby }, ...sortProperties],
|
|
26
26
|
relations,
|
|
27
27
|
stringProps
|
|
28
28
|
);
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { KEYWORD } from '../constants';
|
|
2
2
|
|
|
3
|
-
const buildFieldName = (relations,
|
|
3
|
+
const buildFieldName = (relations, fieldValue, stringProps) => {
|
|
4
|
+
const field = Array.isArray(fieldValue) ? fieldValue[0] : fieldValue;
|
|
5
|
+
if (!field) return null;
|
|
6
|
+
|
|
4
7
|
let updatedField = field;
|
|
5
8
|
|
|
6
9
|
if (field.includes('.')) {
|
|
@@ -39,6 +39,24 @@ describe('Range component', () => {
|
|
|
39
39
|
expect(component.toJSON()).toMatchSnapshot();
|
|
40
40
|
});
|
|
41
41
|
|
|
42
|
+
it('should match snapshot large values formatted correctly', async () => {
|
|
43
|
+
const mockedProps = getMockedProps({
|
|
44
|
+
filterValues: {
|
|
45
|
+
name: {
|
|
46
|
+
min: 9999,
|
|
47
|
+
max: 10000,
|
|
48
|
+
minValue: 9999,
|
|
49
|
+
maxValue: 10000
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
rangeInterval: 5
|
|
53
|
+
});
|
|
54
|
+
const component = await getMockedProvider(Range, {
|
|
55
|
+
props: { ...mockedProps }
|
|
56
|
+
});
|
|
57
|
+
expect(component.toJSON()).toMatchSnapshot();
|
|
58
|
+
});
|
|
59
|
+
|
|
42
60
|
it('should match snapshot with interval and rounded min & max values', async () => {
|
|
43
61
|
const mockedProps = getMockedProps({
|
|
44
62
|
filterValues: {
|
|
@@ -18,7 +18,7 @@ Array [
|
|
|
18
18
|
0
|
|
19
19
|
</span>
|
|
20
20
|
<span>
|
|
21
|
-
|
|
21
|
+
6600
|
|
22
22
|
</span>
|
|
23
23
|
</div>
|
|
24
24
|
<div
|
|
@@ -50,6 +50,56 @@ Array [
|
|
|
50
50
|
]
|
|
51
51
|
`;
|
|
52
52
|
|
|
53
|
+
exports[`Range component should match snapshot large values formatted correctly 1`] = `
|
|
54
|
+
Array [
|
|
55
|
+
"",
|
|
56
|
+
<div
|
|
57
|
+
className="form-field form-field--range "
|
|
58
|
+
>
|
|
59
|
+
<label
|
|
60
|
+
className=""
|
|
61
|
+
>
|
|
62
|
+
GLabel
|
|
63
|
+
</label>
|
|
64
|
+
<div
|
|
65
|
+
className="values"
|
|
66
|
+
>
|
|
67
|
+
<span>
|
|
68
|
+
9999
|
|
69
|
+
</span>
|
|
70
|
+
<span>
|
|
71
|
+
10,000
|
|
72
|
+
</span>
|
|
73
|
+
</div>
|
|
74
|
+
<div
|
|
75
|
+
className="range__filter name"
|
|
76
|
+
id="nameRange"
|
|
77
|
+
max={10000}
|
|
78
|
+
max-value={10000}
|
|
79
|
+
min={9999}
|
|
80
|
+
min-value={9999}
|
|
81
|
+
step={1}
|
|
82
|
+
>
|
|
83
|
+
<div
|
|
84
|
+
className="range__filter--left"
|
|
85
|
+
>
|
|
86
|
+
<span />
|
|
87
|
+
</div>
|
|
88
|
+
<div
|
|
89
|
+
className="range__filter--right"
|
|
90
|
+
>
|
|
91
|
+
<span />
|
|
92
|
+
</div>
|
|
93
|
+
<div
|
|
94
|
+
className="range__filter--line"
|
|
95
|
+
>
|
|
96
|
+
<span />
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</div>,
|
|
100
|
+
]
|
|
101
|
+
`;
|
|
102
|
+
|
|
53
103
|
exports[`Range component should match snapshot with adjusted min & max values based on interval 1`] = `
|
|
54
104
|
Array [
|
|
55
105
|
"",
|
|
@@ -118,7 +168,7 @@ Array [
|
|
|
118
168
|
0
|
|
119
169
|
</span>
|
|
120
170
|
<span>
|
|
121
|
-
|
|
171
|
+
6600
|
|
122
172
|
</span>
|
|
123
173
|
</div>
|
|
124
174
|
<div
|
|
@@ -68,6 +68,13 @@ describe('get card/list render variables', () => {
|
|
|
68
68
|
expect(offset).toEqual(0);
|
|
69
69
|
});
|
|
70
70
|
|
|
71
|
+
it('should return an object with correct data when no sortby is passed', () => {
|
|
72
|
+
const { sort, offset } = getGenericRenderVariables(mockedProps({ sortby: [] }));
|
|
73
|
+
|
|
74
|
+
expect(sort).toBeFalsy();
|
|
75
|
+
expect(offset).toEqual(0);
|
|
76
|
+
});
|
|
77
|
+
|
|
71
78
|
it('should return correct sort data when we pass an array', () => {
|
|
72
79
|
const { sort } = getGenericRenderVariables(
|
|
73
80
|
[],
|
|
@@ -82,6 +89,11 @@ describe('get card/list render variables', () => {
|
|
|
82
89
|
expect(sort).toEqual('name.keyword:desc');
|
|
83
90
|
});
|
|
84
91
|
|
|
92
|
+
it('should return correct sort data sortby is an array', () => {
|
|
93
|
+
const { sort } = getGenericRenderVariables([], mockedProps({ sortby: ['name'] }), STRING_PROPS);
|
|
94
|
+
expect(sort).toEqual('name.keyword:desc');
|
|
95
|
+
});
|
|
96
|
+
|
|
85
97
|
it("should return correct sort data when when there is a prop that is of type string and it's also a relation prop", () => {
|
|
86
98
|
const { sort } = getGenericRenderVariables(
|
|
87
99
|
[{ localField: 'entity', entityIdentifier: 'entity' }],
|
|
@@ -38,4 +38,20 @@ describe('get sortb by field name', () => {
|
|
|
38
38
|
expect(sortByNoArray).toEqual(PRICE_FIELD);
|
|
39
39
|
expect(sortByNoArrayStringProp).toEqual(CATEGORY_SORT_FIELD);
|
|
40
40
|
});
|
|
41
|
+
|
|
42
|
+
it('should automatically handle when is an array but isSortbyArray is not set', () => {
|
|
43
|
+
const sort = getSortbyFieldName([], [PRICE_FIELD], []);
|
|
44
|
+
expect(typeof sort).toEqual('string');
|
|
45
|
+
expect(sort).toEqual(PRICE_FIELD);
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
it('should handle empty array', () => {
|
|
49
|
+
const sort = getSortbyFieldName([], [], []);
|
|
50
|
+
expect(sort).toBeNull();
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
it('should handle empty string', () => {
|
|
54
|
+
const sort = getSortbyFieldName([], '', []);
|
|
55
|
+
expect(sort).toBeNull();
|
|
56
|
+
});
|
|
41
57
|
});
|