@blaze-cms/react-page-builder 0.141.0-core-styles.10 → 0.141.0-core-styles.16

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 CHANGED
@@ -3,6 +3,17 @@
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.141.0-core-styles.16](https://github.com/thebyte9/blaze/compare/v0.141.0-core-styles.15...v0.141.0-core-styles.16) (2024-04-25)
7
+
8
+
9
+ ### Features
10
+
11
+ * add recency boost option to card/list pagebuilder components ([#4306](https://github.com/thebyte9/blaze/issues/4306)) ([6385d97](https://github.com/thebyte9/blaze/commit/6385d972895b50ad82b5b1662368f05dbfa73630))
12
+
13
+
14
+
15
+
16
+
6
17
  # [0.141.0-core-styles.10](https://github.com/thebyte9/blaze/compare/v0.141.0-core-styles.9...v0.141.0-core-styles.10) (2024-04-12)
7
18
 
8
19
 
@@ -16,6 +16,7 @@ var _Header = _interopRequireDefault(require("./components/Header"));
16
16
  var _helpers = require("../../helpers");
17
17
  var _constants = require("../../constants");
18
18
  var _hooks = require("../../hooks");
19
+ var _helpers2 = require("./helpers");
19
20
  var ListRender = function ListRender(props) {
20
21
  var variables = props.variables,
21
22
  actionKey = props.actionKey,
@@ -41,8 +42,9 @@ var ListRender = function ListRender(props) {
41
42
  props: props
42
43
  }),
43
44
  updatedVariables = _useAppSyncEventHook.data;
45
+ var boostedVariables = (0, _helpers2.buildQueryBooster)(props, updatedVariables);
44
46
  var _useQuery = (0, _client.useQuery)(action, {
45
- variables: updatedVariables
47
+ variables: boostedVariables
46
48
  }),
47
49
  _useQuery$data = _useQuery.data,
48
50
  data = _useQuery$data === void 0 ? {} : _useQuery$data,
@@ -1 +1 @@
1
- {"version":3,"file":"ListRender.js","names":["_react","_interopRequireDefault","require","_client","_propTypes","_Pagination","_Header","_helpers","_constants","_hooks","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","ListComponent","listComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","_useAppSyncEventHook","useAppSyncEventHook","eventName","data","updatedVariables","_useQuery","useQuery","_useQuery$data","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","sortResponseData","length","currentListLength","currentPage","Math","ceil","totalDisplay","createElement","Fragment","className","_extends2","LOAD_MORE","itemsPerPage","propTypes","PropTypes","string","isRequired","object","number","bool","func","array","defaultProps","_default","exports"],"sources":["../../../src/components/List/ListRender.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport ListPagination from './components/Pagination';\nimport ListHeader from './components/Header';\nimport { sortResponseData } from '../../helpers';\nimport { LOAD_MORE } from '../../constants';\nimport { useAppSyncEventHook } from '../../hooks';\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: updatedVariables } = useAppSyncEventHook({\n eventName: 'list:query-variables',\n data: variables,\n props\n });\n\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables: updatedVariables\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"],"mappings":"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"}
1
+ {"version":3,"file":"ListRender.js","names":["_react","_interopRequireDefault","require","_client","_propTypes","_Pagination","_Header","_helpers","_constants","_hooks","_helpers2","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","ListComponent","listComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","_useAppSyncEventHook","useAppSyncEventHook","eventName","data","updatedVariables","boostedVariables","buildQueryBooster","_useQuery","useQuery","_useQuery$data","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","sortResponseData","length","currentListLength","currentPage","Math","ceil","totalDisplay","createElement","Fragment","className","_extends2","LOAD_MORE","itemsPerPage","propTypes","PropTypes","string","isRequired","object","number","bool","func","array","defaultProps","_default","exports"],"sources":["../../../src/components/List/ListRender.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport ListPagination from './components/Pagination';\nimport ListHeader from './components/Header';\nimport { sortResponseData } from '../../helpers';\nimport { LOAD_MORE } from '../../constants';\nimport { useAppSyncEventHook } from '../../hooks';\nimport { buildQueryBooster } from './helpers';\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: updatedVariables } = useAppSyncEventHook({\n eventName: 'list:query-variables',\n data: variables,\n props\n });\n const boostedVariables = buildQueryBooster(props, updatedVariables);\n\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables: boostedVariables\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"],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.object.to-string.js");
6
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
7
+ require("core-js/modules/es.array.for-each.js");
8
+ require("core-js/modules/web.dom-collections.for-each.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
10
+ require("core-js/modules/es.object.define-properties.js");
11
+ require("core-js/modules/es.object.define-property.js");
12
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
13
+ Object.defineProperty(exports, "__esModule", {
14
+ value: true
15
+ });
16
+ exports["default"] = void 0;
17
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+ require("core-js/modules/es.object.keys.js");
20
+ require("core-js/modules/es.array.map.js");
21
+ require("core-js/modules/es.array.concat.js");
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ var buildQueryBooster = function buildQueryBooster(props, data) {
25
+ var recencyBoostProperty = props.recencyBoostProperty;
26
+ if (!recencyBoostProperty || !recencyBoostProperty.length) return data;
27
+ var _data$rawQueryStringi = data.rawQueryStringified,
28
+ rawQueryStringified = _data$rawQueryStringi === void 0 ? '' : _data$rawQueryStringi;
29
+ var parsedRawQuery = JSON.parse(rawQueryStringified);
30
+ var _parsedRawQuery$funct = parsedRawQuery.function_score,
31
+ _parsedRawQuery$funct2 = _parsedRawQuery$funct === void 0 ? {} : _parsedRawQuery$funct,
32
+ query = _parsedRawQuery$funct2.query,
33
+ _parsedRawQuery$funct3 = _parsedRawQuery$funct2.functions,
34
+ functions = _parsedRawQuery$funct3 === void 0 ? [] : _parsedRawQuery$funct3;
35
+ var boostedPropsFunctios = recencyBoostProperty.map(function (propToBoost) {
36
+ return {
37
+ gauss: (0, _defineProperty2["default"])({}, propToBoost, {
38
+ origin: 'now',
39
+ scale: '30d',
40
+ offset: '7d',
41
+ decay: 0.5
42
+ })
43
+ };
44
+ });
45
+ var updatedData = {
46
+ function_score: {
47
+ query: functions.length ? query : parsedRawQuery,
48
+ functions: [].concat((0, _toConsumableArray2["default"])(functions), (0, _toConsumableArray2["default"])(boostedPropsFunctios)),
49
+ boost_mode: 'multiply'
50
+ }
51
+ };
52
+ return _objectSpread(_objectSpread({}, data), {}, {
53
+ rawQueryStringified: JSON.stringify(updatedData)
54
+ });
55
+ };
56
+ var _default = exports["default"] = buildQueryBooster;
57
+ //# sourceMappingURL=build-query-booster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-query-booster.js","names":["buildQueryBooster","props","data","recencyBoostProperty","length","_data$rawQueryStringi","rawQueryStringified","parsedRawQuery","JSON","parse","_parsedRawQuery$funct","function_score","_parsedRawQuery$funct2","query","_parsedRawQuery$funct3","functions","boostedPropsFunctios","map","propToBoost","gauss","_defineProperty2","origin","scale","offset","decay","updatedData","concat","_toConsumableArray2","boost_mode","_objectSpread","stringify","_default","exports"],"sources":["../../../../src/components/List/helpers/build-query-booster.js"],"sourcesContent":["const buildQueryBooster = (props, data) => {\n const { recencyBoostProperty } = props;\n\n if (!recencyBoostProperty || !recencyBoostProperty.length) return data;\n const { rawQueryStringified = '' } = data;\n\n const parsedRawQuery = JSON.parse(rawQueryStringified);\n const { function_score: { query, functions = [] } = {} } = parsedRawQuery;\n\n const boostedPropsFunctios = recencyBoostProperty.map(propToBoost => ({\n gauss: {\n [propToBoost]: {\n origin: 'now',\n scale: '30d',\n offset: '7d',\n decay: 0.5\n }\n }\n }));\n\n const updatedData = {\n function_score: {\n query: functions.length ? query : parsedRawQuery,\n functions: [...functions, ...boostedPropsFunctios],\n boost_mode: 'multiply'\n }\n };\n\n return {\n ...data,\n rawQueryStringified: JSON.stringify(updatedData)\n };\n};\n\nexport default buildQueryBooster;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,KAAK,EAAEC,IAAI,EAAK;EACzC,IAAQC,oBAAoB,GAAKF,KAAK,CAA9BE,oBAAoB;EAE5B,IAAI,CAACA,oBAAoB,IAAI,CAACA,oBAAoB,CAACC,MAAM,EAAE,OAAOF,IAAI;EACtE,IAAAG,qBAAA,GAAqCH,IAAI,CAAjCI,mBAAmB;IAAnBA,mBAAmB,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;EAEhC,IAAME,cAAc,GAAGC,IAAI,CAACC,KAAK,CAACH,mBAAmB,CAAC;EACtD,IAAAI,qBAAA,GAA2DH,cAAc,CAAjEI,cAAc;IAAAC,sBAAA,GAAAF,qBAAA,cAA8B,CAAC,CAAC,GAAAA,qBAAA;IAA5BG,KAAK,GAAAD,sBAAA,CAALC,KAAK;IAAAC,sBAAA,GAAAF,sBAAA,CAAEG,SAAS;IAATA,SAAS,GAAAD,sBAAA,cAAG,EAAE,GAAAA,sBAAA;EAE/C,IAAME,oBAAoB,GAAGb,oBAAoB,CAACc,GAAG,CAAC,UAAAC,WAAW;IAAA,OAAK;MACpEC,KAAK,MAAAC,gBAAA,iBACFF,WAAW,EAAG;QACbG,MAAM,EAAE,KAAK;QACbC,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE,IAAI;QACZC,KAAK,EAAE;MACT,CAAC;IAEL,CAAC;EAAA,CAAC,CAAC;EAEH,IAAMC,WAAW,GAAG;IAClBd,cAAc,EAAE;MACdE,KAAK,EAAEE,SAAS,CAACX,MAAM,GAAGS,KAAK,GAAGN,cAAc;MAChDQ,SAAS,KAAAW,MAAA,KAAAC,mBAAA,aAAMZ,SAAS,OAAAY,mBAAA,aAAKX,oBAAoB,EAAC;MAClDY,UAAU,EAAE;IACd;EACF,CAAC;EAED,OAAAC,aAAA,CAAAA,aAAA,KACK3B,IAAI;IACPI,mBAAmB,EAAEE,IAAI,CAACsB,SAAS,CAACL,WAAW;EAAC;AAEpD,CAAC;AAAC,IAAAM,QAAA,GAAAC,OAAA,cAEahC,iBAAiB"}
@@ -23,6 +23,12 @@ Object.defineProperty(exports, "buildPaginationItems", {
23
23
  return _buildPaginationItems["default"];
24
24
  }
25
25
  });
26
+ Object.defineProperty(exports, "buildQueryBooster", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _buildQueryBooster["default"];
30
+ }
31
+ });
26
32
  Object.defineProperty(exports, "getAzQueryFilter", {
27
33
  enumerable: true,
28
34
  get: function get() {
@@ -82,4 +88,5 @@ var _hasRequiredItemListDetails = _interopRequireDefault(require("./has-required
82
88
  var _getListComponent = _interopRequireDefault(require("./get-list-component"));
83
89
  var _getListQuery = _interopRequireDefault(require("./get-list-query"));
84
90
  var _getListSpecificSearchFilter = _interopRequireDefault(require("./get-list-specific-search-filter"));
91
+ var _buildQueryBooster = _interopRequireDefault(require("./build-query-booster"));
85
92
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_buildPaginationItems","_interopRequireDefault","require","_getAzQueryFilter","_buildAzAggregations","_buildAzUrl","_sortAggs","_getItemsPerPageToUse","_getSortProps","_hasRequiredItemListDetails","_getListComponent","_getListQuery","_getListSpecificSearchFilter"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\nexport { default as getListComponent } from './get-list-component';\nexport { default as getListQuery } from './get-list-query';\nexport { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,qBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,oBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,qBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,2BAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,iBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,aAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,4BAAA,GAAAX,sBAAA,CAAAC,OAAA"}
1
+ {"version":3,"file":"index.js","names":["_buildPaginationItems","_interopRequireDefault","require","_getAzQueryFilter","_buildAzAggregations","_buildAzUrl","_sortAggs","_getItemsPerPageToUse","_getSortProps","_hasRequiredItemListDetails","_getListComponent","_getListQuery","_getListSpecificSearchFilter","_buildQueryBooster"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\nexport { default as getListComponent } from './get-list-component';\nexport { default as getListQuery } from './get-list-query';\nexport { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';\nexport { default as buildQueryBooster } from './build-query-booster';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,qBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,oBAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,qBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,2BAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,iBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,aAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,4BAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,kBAAA,GAAAZ,sBAAA,CAAAC,OAAA"}
@@ -7,6 +7,7 @@ import ListHeader from './components/Header';
7
7
  import { sortResponseData } from '../../helpers';
8
8
  import { LOAD_MORE } from '../../constants';
9
9
  import { useAppSyncEventHook } from '../../hooks';
10
+ import { buildQueryBooster } from './helpers';
10
11
  const ListRender = props => {
11
12
  const {
12
13
  variables,
@@ -35,13 +36,14 @@ const ListRender = props => {
35
36
  data: variables,
36
37
  props
37
38
  });
39
+ const boostedVariables = buildQueryBooster(props, updatedVariables);
38
40
  const {
39
41
  data = {},
40
42
  error,
41
43
  loading,
42
44
  fetchMore
43
45
  } = useQuery(action, {
44
- variables: updatedVariables
46
+ variables: boostedVariables
45
47
  });
46
48
  if (loading) return '';
47
49
  if (error) return error.message;
@@ -1 +1 @@
1
- {"version":3,"file":"ListRender.js","names":["React","useQuery","PropTypes","ListPagination","ListHeader","sortResponseData","LOAD_MORE","useAppSyncEventHook","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","listComponent","ListComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","data","updatedVariables","eventName","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","length","currentListLength","currentPage","Math","ceil","totalDisplay","createElement","Fragment","className","_extends","itemsPerPage","propTypes","string","isRequired","object","number","bool","func","array","defaultProps"],"sources":["../../../src/components/List/ListRender.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport ListPagination from './components/Pagination';\nimport ListHeader from './components/Header';\nimport { sortResponseData } from '../../helpers';\nimport { LOAD_MORE } from '../../constants';\nimport { useAppSyncEventHook } from '../../hooks';\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: updatedVariables } = useAppSyncEventHook({\n eventName: 'list:query-variables',\n data: variables,\n props\n });\n\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables: updatedVariables\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"],"mappings":"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"}
1
+ {"version":3,"file":"ListRender.js","names":["React","useQuery","PropTypes","ListPagination","ListHeader","sortResponseData","LOAD_MORE","useAppSyncEventHook","buildQueryBooster","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","listComponent","ListComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","data","updatedVariables","eventName","boostedVariables","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","length","currentListLength","currentPage","Math","ceil","totalDisplay","createElement","Fragment","className","_extends","itemsPerPage","propTypes","string","isRequired","object","number","bool","func","array","defaultProps"],"sources":["../../../src/components/List/ListRender.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport ListPagination from './components/Pagination';\nimport ListHeader from './components/Header';\nimport { sortResponseData } from '../../helpers';\nimport { LOAD_MORE } from '../../constants';\nimport { useAppSyncEventHook } from '../../hooks';\nimport { buildQueryBooster } from './helpers';\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: updatedVariables } = useAppSyncEventHook({\n eventName: 'list:query-variables',\n data: variables,\n props\n });\n const boostedVariables = buildQueryBooster(props, updatedVariables);\n\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables: boostedVariables\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"],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ const buildQueryBooster = (props, data) => {
5
+ const {
6
+ recencyBoostProperty
7
+ } = props;
8
+ if (!recencyBoostProperty || !recencyBoostProperty.length) return data;
9
+ const {
10
+ rawQueryStringified = ''
11
+ } = data;
12
+ const parsedRawQuery = JSON.parse(rawQueryStringified);
13
+ const {
14
+ function_score: {
15
+ query,
16
+ functions = []
17
+ } = {}
18
+ } = parsedRawQuery;
19
+ const boostedPropsFunctios = recencyBoostProperty.map(propToBoost => ({
20
+ gauss: {
21
+ [propToBoost]: {
22
+ origin: 'now',
23
+ scale: '30d',
24
+ offset: '7d',
25
+ decay: 0.5
26
+ }
27
+ }
28
+ }));
29
+ const updatedData = {
30
+ function_score: {
31
+ query: functions.length ? query : parsedRawQuery,
32
+ functions: [...functions, ...boostedPropsFunctios],
33
+ boost_mode: 'multiply'
34
+ }
35
+ };
36
+ return _objectSpread(_objectSpread({}, data), {}, {
37
+ rawQueryStringified: JSON.stringify(updatedData)
38
+ });
39
+ };
40
+ export default buildQueryBooster;
41
+ //# sourceMappingURL=build-query-booster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-query-booster.js","names":["buildQueryBooster","props","data","recencyBoostProperty","length","rawQueryStringified","parsedRawQuery","JSON","parse","function_score","query","functions","boostedPropsFunctios","map","propToBoost","gauss","origin","scale","offset","decay","updatedData","boost_mode","_objectSpread","stringify"],"sources":["../../../../src/components/List/helpers/build-query-booster.js"],"sourcesContent":["const buildQueryBooster = (props, data) => {\n const { recencyBoostProperty } = props;\n\n if (!recencyBoostProperty || !recencyBoostProperty.length) return data;\n const { rawQueryStringified = '' } = data;\n\n const parsedRawQuery = JSON.parse(rawQueryStringified);\n const { function_score: { query, functions = [] } = {} } = parsedRawQuery;\n\n const boostedPropsFunctios = recencyBoostProperty.map(propToBoost => ({\n gauss: {\n [propToBoost]: {\n origin: 'now',\n scale: '30d',\n offset: '7d',\n decay: 0.5\n }\n }\n }));\n\n const updatedData = {\n function_score: {\n query: functions.length ? query : parsedRawQuery,\n functions: [...functions, ...boostedPropsFunctios],\n boost_mode: 'multiply'\n }\n };\n\n return {\n ...data,\n rawQueryStringified: JSON.stringify(updatedData)\n };\n};\n\nexport default buildQueryBooster;\n"],"mappings":";;;AAAA,MAAMA,iBAAiB,GAAGA,CAACC,KAAK,EAAEC,IAAI,KAAK;EACzC,MAAM;IAAEC;EAAqB,CAAC,GAAGF,KAAK;EAEtC,IAAI,CAACE,oBAAoB,IAAI,CAACA,oBAAoB,CAACC,MAAM,EAAE,OAAOF,IAAI;EACtE,MAAM;IAAEG,mBAAmB,GAAG;EAAG,CAAC,GAAGH,IAAI;EAEzC,MAAMI,cAAc,GAAGC,IAAI,CAACC,KAAK,CAACH,mBAAmB,CAAC;EACtD,MAAM;IAAEI,cAAc,EAAE;MAAEC,KAAK;MAAEC,SAAS,GAAG;IAAG,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGL,cAAc;EAEzE,MAAMM,oBAAoB,GAAGT,oBAAoB,CAACU,GAAG,CAACC,WAAW,KAAK;IACpEC,KAAK,EAAE;MACL,CAACD,WAAW,GAAG;QACbE,MAAM,EAAE,KAAK;QACbC,KAAK,EAAE,KAAK;QACZC,MAAM,EAAE,IAAI;QACZC,KAAK,EAAE;MACT;IACF;EACF,CAAC,CAAC,CAAC;EAEH,MAAMC,WAAW,GAAG;IAClBX,cAAc,EAAE;MACdC,KAAK,EAAEC,SAAS,CAACP,MAAM,GAAGM,KAAK,GAAGJ,cAAc;MAChDK,SAAS,EAAE,CAAC,GAAGA,SAAS,EAAE,GAAGC,oBAAoB,CAAC;MAClDS,UAAU,EAAE;IACd;EACF,CAAC;EAED,OAAAC,aAAA,CAAAA,aAAA,KACKpB,IAAI;IACPG,mBAAmB,EAAEE,IAAI,CAACgB,SAAS,CAACH,WAAW;EAAC;AAEpD,CAAC;AAED,eAAepB,iBAAiB"}
@@ -9,4 +9,5 @@ export { default as hasRequiredItemListDetails } from './has-required-item-list-
9
9
  export { default as getListComponent } from './get-list-component';
10
10
  export { default as getListQuery } from './get-list-query';
11
11
  export { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';
12
+ export { default as buildQueryBooster } from './build-query-booster';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","buildPaginationItems","getAzQueryFilter","buildAzAggregations","buildAzUrl","sortAggs","getItemsPerPageToUse","getSortProps","hasRequiredItemListDetails","getListComponent","getListQuery","getListSpecificSearchFilter"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\nexport { default as getListComponent } from './get-list-component';\nexport { default as getListQuery } from './get-list-query';\nexport { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,oBAAoB,QAAQ,0BAA0B;AAC1E,SAASD,OAAO,IAAIE,gBAAgB,QAAQ,uBAAuB;AACnE,SAASF,OAAO,IAAIG,mBAAmB,QAAQ,yBAAyB;AACxE,SAASH,OAAO,IAAII,UAAU,QAAQ,gBAAgB;AACtD,SAASJ,OAAO,IAAIK,QAAQ,QAAQ,aAAa;AACjD,SAASL,OAAO,IAAIM,oBAAoB,QAAQ,6BAA6B;AAC7E,SAASN,OAAO,IAAIO,YAAY,QAAQ,kBAAkB;AAC1D,SAASP,OAAO,IAAIQ,0BAA0B,QAAQ,kCAAkC;AACxF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,sBAAsB;AAClE,SAAST,OAAO,IAAIU,YAAY,QAAQ,kBAAkB;AAC1D,SAASV,OAAO,IAAIW,2BAA2B,QAAQ,mCAAmC"}
1
+ {"version":3,"file":"index.js","names":["default","buildPaginationItems","getAzQueryFilter","buildAzAggregations","buildAzUrl","sortAggs","getItemsPerPageToUse","getSortProps","hasRequiredItemListDetails","getListComponent","getListQuery","getListSpecificSearchFilter","buildQueryBooster"],"sources":["../../../../src/components/List/helpers/index.js"],"sourcesContent":["export { default as buildPaginationItems } from './build-pagination-items';\nexport { default as getAzQueryFilter } from './get-az-query-filter';\nexport { default as buildAzAggregations } from './build-az-aggregations';\nexport { default as buildAzUrl } from './build-az-url';\nexport { default as sortAggs } from './sort-aggs';\nexport { default as getItemsPerPageToUse } from './get-items-per-page-to-use';\nexport { default as getSortProps } from './get-sort-props';\nexport { default as hasRequiredItemListDetails } from './has-required-item-list-details';\nexport { default as getListComponent } from './get-list-component';\nexport { default as getListQuery } from './get-list-query';\nexport { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';\nexport { default as buildQueryBooster } from './build-query-booster';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,oBAAoB,QAAQ,0BAA0B;AAC1E,SAASD,OAAO,IAAIE,gBAAgB,QAAQ,uBAAuB;AACnE,SAASF,OAAO,IAAIG,mBAAmB,QAAQ,yBAAyB;AACxE,SAASH,OAAO,IAAII,UAAU,QAAQ,gBAAgB;AACtD,SAASJ,OAAO,IAAIK,QAAQ,QAAQ,aAAa;AACjD,SAASL,OAAO,IAAIM,oBAAoB,QAAQ,6BAA6B;AAC7E,SAASN,OAAO,IAAIO,YAAY,QAAQ,kBAAkB;AAC1D,SAASP,OAAO,IAAIQ,0BAA0B,QAAQ,kCAAkC;AACxF,SAASR,OAAO,IAAIS,gBAAgB,QAAQ,sBAAsB;AAClE,SAAST,OAAO,IAAIU,YAAY,QAAQ,kBAAkB;AAC1D,SAASV,OAAO,IAAIW,2BAA2B,QAAQ,mCAAmC;AAC1F,SAASX,OAAO,IAAIY,iBAAiB,QAAQ,uBAAuB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.141.0-core-styles.10",
3
+ "version": "0.141.0-core-styles.16",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -32,7 +32,7 @@
32
32
  "@blaze-cms/core-errors-ui": "0.140.2-core-styles.1",
33
33
  "@blaze-cms/image-cdn-react": "0.3.0-alpha.6",
34
34
  "@blaze-cms/nextjs-components": "0.141.0-core-styles.0",
35
- "@blaze-cms/plugin-search-ui": "0.141.0-core-styles.3",
35
+ "@blaze-cms/plugin-search-ui": "0.141.0-core-styles.16",
36
36
  "@blaze-cms/setup-ui": "0.140.2-core-styles.1",
37
37
  "@blaze-cms/utils": "0.140.2-core-styles.1",
38
38
  "@blaze-cms/utils-handlebars": "0.141.0-core-styles.0",
@@ -89,5 +89,5 @@
89
89
  "lib/*",
90
90
  "lib-es/*"
91
91
  ],
92
- "gitHead": "67e322293aeb483041c2f4dd4c23fe977a86e120"
92
+ "gitHead": "e6dff43958480a68453d3895888a61c9129dc94b"
93
93
  }
@@ -6,6 +6,7 @@ import ListHeader from './components/Header';
6
6
  import { sortResponseData } from '../../helpers';
7
7
  import { LOAD_MORE } from '../../constants';
8
8
  import { useAppSyncEventHook } from '../../hooks';
9
+ import { buildQueryBooster } from './helpers';
9
10
 
10
11
  const ListRender = props => {
11
12
  const {
@@ -33,9 +34,10 @@ const ListRender = props => {
33
34
  data: variables,
34
35
  props
35
36
  });
37
+ const boostedVariables = buildQueryBooster(props, updatedVariables);
36
38
 
37
39
  const { data = {}, error, loading, fetchMore } = useQuery(action, {
38
- variables: updatedVariables
40
+ variables: boostedVariables
39
41
  });
40
42
 
41
43
  if (loading) return '';
@@ -0,0 +1,35 @@
1
+ const buildQueryBooster = (props, data) => {
2
+ const { recencyBoostProperty } = props;
3
+
4
+ if (!recencyBoostProperty || !recencyBoostProperty.length) return data;
5
+ const { rawQueryStringified = '' } = data;
6
+
7
+ const parsedRawQuery = JSON.parse(rawQueryStringified);
8
+ const { function_score: { query, functions = [] } = {} } = parsedRawQuery;
9
+
10
+ const boostedPropsFunctios = recencyBoostProperty.map(propToBoost => ({
11
+ gauss: {
12
+ [propToBoost]: {
13
+ origin: 'now',
14
+ scale: '30d',
15
+ offset: '7d',
16
+ decay: 0.5
17
+ }
18
+ }
19
+ }));
20
+
21
+ const updatedData = {
22
+ function_score: {
23
+ query: functions.length ? query : parsedRawQuery,
24
+ functions: [...functions, ...boostedPropsFunctios],
25
+ boost_mode: 'multiply'
26
+ }
27
+ };
28
+
29
+ return {
30
+ ...data,
31
+ rawQueryStringified: JSON.stringify(updatedData)
32
+ };
33
+ };
34
+
35
+ export default buildQueryBooster;
@@ -9,3 +9,4 @@ export { default as hasRequiredItemListDetails } from './has-required-item-list-
9
9
  export { default as getListComponent } from './get-list-component';
10
10
  export { default as getListQuery } from './get-list-query';
11
11
  export { default as getListSpecificSearchFilter } from './get-list-specific-search-filter';
12
+ export { default as buildQueryBooster } from './build-query-booster';
@@ -0,0 +1,33 @@
1
+ import buildQueryBooster from '../../../../../../src/components/List/helpers/build-query-booster';
2
+
3
+ describe('buildQueryBooster helper function', () => {
4
+ it('should return unmodified variables if no recencyBoostProperty is present in props', () => {
5
+ const noRecencyBoostProperty = buildQueryBooster({}, { rawQueryStringified: `{"test":"t"}` });
6
+ expect(noRecencyBoostProperty).toEqual({ rawQueryStringified: '{"test":"t"}' });
7
+ });
8
+
9
+ it('should return update rawQueryStringified with recency boosted props', () => {
10
+ const noRecencyBoostProperty = buildQueryBooster(
11
+ { recencyBoostProperty: ['date'] },
12
+ { rawQueryStringified: `{"test":"t"}` }
13
+ );
14
+ expect(noRecencyBoostProperty).toEqual({
15
+ rawQueryStringified:
16
+ '{"function_score":{"query":{"test":"t"},"functions":[{"gauss":{"date":{"origin":"now","scale":"30d","offset":"7d","decay":0.5}}}],"boost_mode":"multiply"}}'
17
+ });
18
+ });
19
+
20
+ it('should return update rawQueryStringified with recency boosted props and existing functions if present', () => {
21
+ const noRecencyBoostProperty = buildQueryBooster(
22
+ { recencyBoostProperty: ['date'] },
23
+ {
24
+ rawQueryStringified:
25
+ '{"function_score":{"query":{"test":"t"},"functions":[{"gauss":{"test":{"origin":"now","scale":"30d","offset":"7d","decay":0.5}}}],"boost_mode":"multiply"}}'
26
+ }
27
+ );
28
+ expect(noRecencyBoostProperty).toEqual({
29
+ rawQueryStringified:
30
+ '{"function_score":{"query":{"test":"t"},"functions":[{"gauss":{"test":{"origin":"now","scale":"30d","offset":"7d","decay":0.5}}},{"gauss":{"date":{"origin":"now","scale":"30d","offset":"7d","decay":0.5}}}],"boost_mode":"multiply"}}'
31
+ });
32
+ });
33
+ });