@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 +11 -0
- package/lib/components/List/ListRender.js +3 -1
- package/lib/components/List/ListRender.js.map +1 -1
- package/lib/components/List/helpers/build-query-booster.js +57 -0
- package/lib/components/List/helpers/build-query-booster.js.map +1 -0
- package/lib/components/List/helpers/index.js +7 -0
- package/lib/components/List/helpers/index.js.map +1 -1
- package/lib-es/components/List/ListRender.js +3 -1
- package/lib-es/components/List/ListRender.js.map +1 -1
- package/lib-es/components/List/helpers/build-query-booster.js +41 -0
- package/lib-es/components/List/helpers/build-query-booster.js.map +1 -0
- package/lib-es/components/List/helpers/index.js +1 -0
- package/lib-es/components/List/helpers/index.js.map +1 -1
- package/package.json +3 -3
- package/src/components/List/ListRender.js +3 -1
- package/src/components/List/helpers/build-query-booster.js +35 -0
- package/src/components/List/helpers/index.js +1 -0
- package/tests/unit/src/components/List/helpers/build-query-booster.test.js +33 -0
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:
|
|
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:
|
|
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":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AAEA,IAAMS,UAAU,GAAG,SAAbA,UAAUA,CAAGC,KAAK,EAAI;EAC1B,IACEC,SAAS,GAkBPD,KAAK,CAlBPC,SAAS;IACTC,SAAS,GAiBPF,KAAK,CAjBPE,SAAS;IACTC,MAAM,GAgBJH,KAAK,CAhBPG,MAAM;IACNC,IAAI,GAeFJ,KAAK,CAfPI,IAAI;IACJC,cAAc,GAcZL,KAAK,CAdPK,cAAc;IACdC,iBAAiB,GAafN,KAAK,CAbPM,iBAAiB;IACjBC,UAAU,GAYRP,KAAK,CAZPO,UAAU;IACVC,aAAa,GAWXR,KAAK,CAXPQ,aAAa;IACbC,UAAU,GAURT,KAAK,CAVPS,UAAU;IACVC,YAAY,GASVV,KAAK,CATPU,YAAY;IACZC,cAAc,GAQZX,KAAK,CARPW,cAAc;IACCC,aAAa,GAO1BZ,KAAK,CAPPa,aAAa;IACbC,KAAK,GAMHd,KAAK,CANPc,KAAK;IACLC,GAAG,GAKDf,KAAK,CALPe,GAAG;IACHC,gBAAgB,GAIdhB,KAAK,CAJPgB,gBAAgB;IAChBC,IAAI,GAGFjB,KAAK,CAHPiB,IAAI;IACJC,QAAQ,GAENlB,KAAK,CAFPkB,QAAQ;IACRC,YAAY,GACVnB,KAAK,CADPmB,YAAY;EAEd,IAAAC,oBAAA,GAAmC,IAAAC,0BAAmB,EAAC;MACrDC,SAAS,EAAE,sBAAsB;MACjCC,IAAI,EAAEtB,SAAS;MACfD,KAAK,EAALA;IACF,CAAC,CAAC;IAJYwB,gBAAgB,GAAAJ,oBAAA,CAAtBG,IAAI;EAKZ,IAAME,gBAAgB,GAAG,IAAAC,2BAAiB,EAAC1B,KAAK,EAAEwB,gBAAgB,CAAC;EAEnE,IAAAG,SAAA,GAAiD,IAAAC,gBAAQ,EAACzB,MAAM,EAAE;MAChEF,SAAS,EAAEwB;IACb,CAAC,CAAC;IAAAI,cAAA,GAAAF,SAAA,CAFMJ,IAAI;IAAJA,IAAI,GAAAM,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;IAAEC,KAAK,GAAAH,SAAA,CAALG,KAAK;IAAEC,OAAO,GAAAJ,SAAA,CAAPI,OAAO;IAAEC,SAAS,GAAAL,SAAA,CAATK,SAAS;EAI5C,IAAID,OAAO,EAAE,OAAO,EAAE;EACtB,IAAID,KAAK,EAAE,OAAOA,KAAK,CAACG,OAAO;EAC/B,IAAI,CAACV,IAAI,CAACrB,SAAS,CAAC,IAAI,CAACqB,IAAI,CAACrB,SAAS,CAAC,CAACgC,OAAO,EAAE,OAAO,IAAI;EAE7D,IAAMC,QAAQ,GAAGZ,IAAI,CAACrB,SAAS,CAAC,CAACgC,OAAO;EACxC,IAAME,SAAS,GAAGb,IAAI,CAACrB,SAAS,CAAC,CAACmC,KAAK;EACvC,IAAMC,eAAe,GAAG,IAAAC,yBAAgB,EAACJ,QAAQ,EAAE9B,cAAc,CAAC;EAClE,IAAI,CAACiC,eAAe,IAAI,CAACA,eAAe,CAACE,MAAM,EAAE,OAAO,IAAI;EAC5D,IAAgBC,iBAAiB,GAAKH,eAAe,CAA7CE,MAAM;EACd,IAAME,WAAW,GAAGC,IAAI,CAACC,IAAI,CAAC,CAACpC,aAAa,GAAGiC,iBAAiB,IAAInC,iBAAiB,CAAC;EACtF,IAAMuC,YAAY,GAAGtC,UAAU,IAAI6B,SAAS,GAAG7B,UAAU,GAAGA,UAAU,GAAG6B,SAAS;EAElF,oBACEhD,MAAA,YAAA0D,aAAA,CAAA1D,MAAA,YAAA2D,QAAA,qBACE3D,MAAA,YAAA0D,aAAA;IAAME,SAAS,EAAC;EAAU,CAAE,CAAC,EAC5B/B,IAAI,iBAAI7B,MAAA,YAAA0D,aAAA,CAACpD,OAAA,WAAU;IAACU,IAAI,EAAEA,IAAK;IAACY,gBAAgB,EAAEA,gBAAiB;IAACE,QAAQ,EAAEA;EAAS,CAAE,CAAC,EAC1FC,YAAY,iBACX/B,MAAA,YAAA0D,aAAA;IAAKE,SAAS,EAAC;EAAyC,GAAC,iBAAe,EAACH,YAAkB,CAC5F,eACDzD,MAAA,YAAA0D,aAAA,CAAClC,aAAa,MAAAqC,SAAA;IACZX,eAAe,EAAEA,eAAgB;IACjC7B,UAAU,EAAEA,UAAW;IACvBD,aAAa,EAAEA,aAAc;IAC7BN,SAAS,EAAEA,SAAU;IACrBK,UAAU,EAAEA,UAAW;IACvByB,SAAS,EAAEA,SAAU;IACrBtB,YAAY,EAAEA,YAAa;IAC3BJ,iBAAiB,EAAEA,iBAAiB,IAAI6B,QAAQ,CAACK,MAAO;IACxDJ,SAAS,EAAEA,SAAU;IACrBK,iBAAiB,EAAEA,iBAAkB;IACrCC,WAAW,EAAEA,WAAY;IACzB5B,KAAK,EAAEA,KAAM;IACbC,GAAG,EAAEA,GAAI;IACTV,cAAc,EAAEA;EAAe,GAC3BL,KAAK,CACV,CAAC,EACDW,cAAc,KAAKuC,oBAAS,iBAC3B9D,MAAA,YAAA0D,aAAA,CAACrD,WAAA,WAAc;IACbc,UAAU,EAAEA,UAAW;IACvB4C,YAAY,EAAE7C,iBAAkB;IAChC8B,SAAS,EAAEA,SAAU;IACrBhC,IAAI,EAAEA,IAAK;IACXK,UAAU,EAAEA,UAAW;IACvBgC,iBAAiB,EAAEA,iBAAkB;IACrC9B,cAAc,EAAEA,cAAe;IAC/B+B,WAAW,EAAEA,WAAY;IACzB5B,KAAK,EAAEA,KAAM;IACbC,GAAG,EAAEA;EAAI,CACV,CAEH,CAAC;AAEP,CAAC;AAEDhB,UAAU,CAACqD,SAAS,GAAG;EACrBhD,IAAI,EAAEiD,qBAAS,CAACC,MAAM,CAACC,UAAU;EACjC5C,cAAc,EAAE0C,qBAAS,CAACC,MAAM,CAACC,UAAU;EAC3CtD,SAAS,EAAEoD,qBAAS,CAACG,MAAM,CAACD,UAAU;EACtCrD,SAAS,EAAEmD,qBAAS,CAACC,MAAM,CAACC,UAAU;EACtCpD,MAAM,EAAEkD,qBAAS,CAACG,MAAM,CAACD,UAAU;EACnCjD,iBAAiB,EAAE+C,qBAAS,CAACI,MAAM,CAACF,UAAU;EAC9ChD,UAAU,EAAE8C,qBAAS,CAACI,MAAM,CAACF,UAAU;EACvC/C,aAAa,EAAE6C,qBAAS,CAACI,MAAM,CAACF,UAAU;EAC1C9C,UAAU,EAAE4C,qBAAS,CAACK,IAAI,CAACH,UAAU;EACrC7C,YAAY,EAAE2C,qBAAS,CAACK,IAAI;EAC5B5C,KAAK,EAAEuC,qBAAS,CAACG,MAAM,CAACD,UAAU;EAClCxC,GAAG,EAAEsC,qBAAS,CAACC,MAAM,CAACC,UAAU;EAChC1C,aAAa,EAAEwC,qBAAS,CAACM,IAAI,CAACJ,UAAU;EACxCtC,IAAI,EAAEoC,qBAAS,CAACK,IAAI,CAACH,UAAU;EAC/BrC,QAAQ,EAAEmC,qBAAS,CAACC,MAAM,CAACC,UAAU;EACrCvC,gBAAgB,EAAEqC,qBAAS,CAACO,KAAK;EACjCvD,cAAc,EAAEgD,qBAAS,CAACO,KAAK;EAC/BzC,YAAY,EAAEkC,qBAAS,CAACK;AAC1B,CAAC;AAED3D,UAAU,CAAC8D,YAAY,GAAG;EACxBnD,YAAY,EAAE,KAAK;EACnBL,cAAc,EAAE,EAAE;EAClBW,gBAAgB,EAAE,EAAE;EACpBG,YAAY,EAAE;AAChB,CAAC;AAAC,IAAA2C,QAAA,GAAAC,OAAA,cAEahE,UAAU"}
|
|
@@ -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":"
|
|
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:
|
|
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:
|
|
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.
|
|
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.
|
|
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": "
|
|
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:
|
|
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
|
+
});
|