@blaze-cms/react-page-builder 0.146.0-node18-core-styles-tooltips.51 → 0.146.0-node18-core-styles-tooltips.52

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.146.0-node18-core-styles-tooltips.52](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.51...v0.146.0-node18-core-styles-tooltips.52) (2026-02-17)
7
+
8
+
9
+ ### Features
10
+
11
+ * add posthog dxp api plugin and card personalisation hook ([#5099](https://github.com/thebyte9/blaze/issues/5099)) ([b0efbb3](https://github.com/thebyte9/blaze/commit/b0efbb3bbbf200fab1042f0382cd9f21f14b2262))
12
+
13
+
14
+
15
+
16
+
6
17
  # [0.146.0-node18-core-styles-tooltips.51](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.50...v0.146.0-node18-core-styles-tooltips.51) (2026-02-16)
7
18
 
8
19
 
@@ -42,8 +42,9 @@ var _nextjsComponents = require("@blaze-cms/nextjs-components");
42
42
  var _query = require("../../application/query");
43
43
  var _constants = require("../../constants");
44
44
  var _hooks = require("../../hooks");
45
- var _helpers = require("../../helpers");
46
- var _helpers2 = require("./helpers");
45
+ var _helpers = require("../List/helpers");
46
+ var _helpers2 = require("../../helpers");
47
+ var _helpers3 = require("./helpers");
47
48
  var _excluded = ["entity", "entities", "entityFields", "itemsToDisplay", "children", "VariantComponent"];
48
49
  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; }
49
50
  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; }
@@ -78,7 +79,7 @@ var CardsRender = function CardsRender(_ref) {
78
79
  _otherProps$operator = otherProps.operator,
79
80
  filterOperator = _otherProps$operator === void 0 ? _constants.AND : _otherProps$operator,
80
81
  useRandomSort = otherProps.useRandomSort;
81
- var _getUpdatedSortProper = (0, _helpers2.getUpdatedSortProperties)(sort, sortby, sortProperties),
82
+ var _getUpdatedSortProper = (0, _helpers3.getUpdatedSortProperties)(sort, sortby, sortProperties),
82
83
  _getUpdatedSortProper2 = (0, _slicedToArray2["default"])(_getUpdatedSortProper, 2),
83
84
  updatedSortProperties = _getUpdatedSortProper2[0],
84
85
  sortbyFilters = _getUpdatedSortProper2[1];
@@ -89,7 +90,7 @@ var CardsRender = function CardsRender(_ref) {
89
90
  });
90
91
  var entitiesToUse = entities || [legacyEntity];
91
92
  var primaryEntityToUse = entitiesToUse[0];
92
- var unpublishedParentEntityName = (0, _helpers.getUnpublishedEntityName)(parentEntity);
93
+ var unpublishedParentEntityName = (0, _helpers2.getUnpublishedEntityName)(parentEntity);
93
94
  var allEntityNames = [].concat((0, _toConsumableArray2["default"])(entitiesToUse), [unpublishedParentEntityName]);
94
95
  var uniqueEntityNames = (0, _toConsumableArray2["default"])(new Set(allEntityNames));
95
96
  var _useGetEntitySchemasA = (0, _hooks.useGetEntitySchemasAsObj)(uniqueEntityNames),
@@ -100,7 +101,7 @@ var CardsRender = function CardsRender(_ref) {
100
101
  var parentSchema = mainSchemas[unpublishedParentEntityName] || {};
101
102
  var filterEntitySchema = mainSchemas[primaryEntityToUse] || {};
102
103
  var entitiesTypes = entitiesToUse.map(function (ent) {
103
- return (0, _helpers.getEntityData)(ent, mainSchemas[ent]);
104
+ return (0, _helpers2.getEntityData)(ent, mainSchemas[ent]);
104
105
  });
105
106
  var graphqlEntityMap = entitiesTypes.reduce(function (acc, entityType) {
106
107
  return _objectSpread(_objectSpread({}, acc), {}, (0, _defineProperty2["default"])({}, entityType.entityType, entityType.entity));
@@ -114,7 +115,7 @@ var CardsRender = function CardsRender(_ref) {
114
115
  return eType;
115
116
  });
116
117
  var style = otherProps.style;
117
- var _filtersSetup = (0, _helpers2.filtersSetup)({
118
+ var _filtersSetup = (0, _helpers3.filtersSetup)({
118
119
  entityFields: entityFields,
119
120
  entityTypes: entityTypes,
120
121
  filterBy: filterBy,
@@ -136,7 +137,7 @@ var CardsRender = function CardsRender(_ref) {
136
137
  variables: {
137
138
  id: parentId
138
139
  },
139
- skip: (0, _helpers2.shouldSkipSingleQuery)(_loading, getAction, queryProps)
140
+ skip: (0, _helpers3.shouldSkipSingleQuery)(_loading, getAction, queryProps)
140
141
  }),
141
142
  _useQuery$data = _useQuery.data,
142
143
  _useQuery$data2 = _useQuery$data === void 0 ? {} : _useQuery$data,
@@ -144,19 +145,19 @@ var CardsRender = function CardsRender(_ref) {
144
145
  parentEntityData = _useQuery$data2$entit === void 0 ? {} : _useQuery$data2$entit,
145
146
  _err = _useQuery.error,
146
147
  _load = _useQuery.loading;
147
- var _useGetEntitySchemasA3 = (0, _hooks.useGetEntitySchemasAsObj)((0, _helpers.getRequiredSchemas)([].concat((0, _toConsumableArray2["default"])(filterByProperty), (0, _toConsumableArray2["default"])(sortbyFilters)), filterEntitySchema), _loading),
148
+ var _useGetEntitySchemasA3 = (0, _hooks.useGetEntitySchemasAsObj)((0, _helpers2.getRequiredSchemas)([].concat((0, _toConsumableArray2["default"])(filterByProperty), (0, _toConsumableArray2["default"])(sortbyFilters)), filterEntitySchema), _loading),
148
149
  _useGetEntitySchemasA4 = _useGetEntitySchemasA3.data,
149
150
  requiredSchema = _useGetEntitySchemasA4 === void 0 ? {} : _useGetEntitySchemasA4,
150
151
  schemaLoading = _useGetEntitySchemasA3.loading,
151
152
  schemaError = _useGetEntitySchemasA3.error;
152
- var updatedFilterBy = (0, _helpers.getUpdatedFilterBy)(inheritedFilters, parentEntityData, parentSchema, filterEntitySchema, parentId, variableProps);
153
- var updatedItemsToDisplay = (0, _helpers2.getUpdatedItemsToDisplay)({
153
+ var updatedFilterBy = (0, _helpers2.getUpdatedFilterBy)(inheritedFilters, parentEntityData, parentSchema, filterEntitySchema, parentId, variableProps);
154
+ var updatedItemsToDisplay = (0, _helpers3.getUpdatedItemsToDisplay)({
154
155
  itemsToDisplay: itemsToDisplay,
155
156
  inheritedFilters: inheritedFilters,
156
157
  parentSchema: parentSchema,
157
158
  parentEntityData: parentEntityData
158
159
  });
159
- var _filterQuerySetup = (0, _helpers2.filterQuerySetup)({
160
+ var _filterQuerySetup = (0, _helpers3.filterQuerySetup)({
160
161
  getEntitySchemas: Object.values(requiredSchema),
161
162
  entity: primaryEntityToUse,
162
163
  updatedFilterBy: updatedFilterBy,
@@ -171,10 +172,17 @@ var CardsRender = function CardsRender(_ref) {
171
172
  limit = _filterQuerySetup.limit,
172
173
  variables = _filterQuerySetup.variables;
173
174
  var hasNoFiltersOrItemsToDisplay = !updatedItemsToDisplay.length && !updatedFilterBy;
175
+ var _useAppEventHook = (0, _hooks.useAppEventHook)({
176
+ eventName: 'cards:query-variables',
177
+ data: variables,
178
+ props: variableProps
179
+ }),
180
+ updatedVariables = _useAppEventHook.data;
181
+ var boostedVariables = (0, _helpers.buildQueryBooster)(otherProps, updatedVariables);
174
182
  var _useQuery2 = (0, _client.useQuery)(action, {
175
- variables: variables,
183
+ variables: boostedVariables,
176
184
  fetchPolicy: useRandomSort ? 'cache-and-network' : 'cache-first',
177
- skip: (0, _helpers2.shouldReturn)(hasNoFiltersOrItemsToDisplay, _loading, _load, schemaLoading, _error, _err, schemaError)
185
+ skip: (0, _helpers3.shouldReturn)(hasNoFiltersOrItemsToDisplay, _loading, _load, schemaLoading, _error, _err, schemaError)
178
186
  }),
179
187
  _useQuery2$data = _useQuery2.data,
180
188
  cardData = _useQuery2$data === void 0 ? {} : _useQuery2$data,
@@ -186,8 +194,8 @@ var CardsRender = function CardsRender(_ref) {
186
194
  var _useGetImages = (0, _hooks.useGetImages)(imageIds, true),
187
195
  imagesData = _useGetImages.data,
188
196
  imagesLoading = _useGetImages.loading;
189
- var isLoading = (0, _helpers2.shouldReturn)(_loading, _load, schemaLoading, imagesLoading);
190
- var hasError = (0, _helpers2.shouldReturn)(_error, _err, schemaError);
197
+ var isLoading = (0, _helpers3.shouldReturn)(_loading, _load, schemaLoading, imagesLoading);
198
+ var hasError = (0, _helpers3.shouldReturn)(_error, _err, schemaError);
191
199
  if (cardsError) return cardsError.message;
192
200
  if (hasNoFiltersOrItemsToDisplay || isLoading || hasError) {
193
201
  return null;
@@ -195,17 +203,17 @@ var CardsRender = function CardsRender(_ref) {
195
203
  var _ref5 = cardData[_constants.SEARCH_PUBLISHED_CONTENT] || {},
196
204
  cardDataResults = _ref5.results;
197
205
  if (!cardDataResults || !cardDataResults.length) return null;
198
- cardDataResults = entitySameAsCurrentItemEntity ? (0, _helpers.removeExtraItems)(cardDataResults, limit, parentId) : cardDataResults;
206
+ cardDataResults = entitySameAsCurrentItemEntity ? (0, _helpers2.removeExtraItems)(cardDataResults, limit, parentId) : cardDataResults;
199
207
  if (!cardDataResults.length) return null;
200
- var orderedData = useRandomSort || updatedSortProperties.length ? cardDataResults : (0, _helpers.sortResponseData)(cardDataResults, updatedItemsToDisplay);
201
- var _splitChildren = (0, _helpers.splitChildren)(children, cardDataResults, graphqlEntityMap, {
208
+ var orderedData = useRandomSort || updatedSortProperties.length ? cardDataResults : (0, _helpers2.sortResponseData)(cardDataResults, updatedItemsToDisplay);
209
+ var _splitChildren = (0, _helpers2.splitChildren)(children, cardDataResults, graphqlEntityMap, {
202
210
  name: variableProps.name
203
211
  }),
204
212
  regularChildren = _splitChildren.regularChildren,
205
213
  gtmChildren = _splitChildren.gtmChildren;
206
- var updatedCards = (0, _helpers.appendImages)(imagesData, orderedData, updatedItemsToDisplay);
214
+ var updatedCards = (0, _helpers2.appendImages)(imagesData, orderedData, updatedItemsToDisplay);
207
215
  var displayedCards = updatedCards.slice(0, limit);
208
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, gtmChildren && (0, _helpers.renderChildren)(gtmChildren), /*#__PURE__*/_react["default"].createElement(CardsContainer, (0, _extends2["default"])({
216
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, gtmChildren && (0, _helpers2.renderChildren)(gtmChildren), /*#__PURE__*/_react["default"].createElement(CardsContainer, (0, _extends2["default"])({
209
217
  cardData: displayedCards,
210
218
  entity: primaryEntityToUse,
211
219
  gtmChildren: gtmChildren,
@@ -1 +1 @@
1
- {"version":3,"file":"CardsRender.js","names":["_react","_interopRequireWildcard","require","_client","_dynamic","_interopRequireDefault","_propTypes","_nextjsComponents","_query","_constants","_hooks","_helpers","_helpers2","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_getRequireWildcardCache","WeakMap","__esModule","_typeof2","has","get","n","__proto__","a","u","hasOwnProperty","call","i","set","CardsContainer","dynamic","Promise","resolve","then","CardsRender","_ref","legacyEntity","entity","entities","entityFields","itemsToDisplay","children","VariantComponent","otherProps","_objectWithoutProperties2","_useContext","useContext","MainContext","isPreview","_otherProps$parent","parent","parentId","itemId","parentEntity","itemEntity","_otherProps$filterBy","filterBy","_otherProps$filterByP","filterByProperty","sortby","sort","_otherProps$sortPrope","sortProperties","_otherProps$operator","operator","filterOperator","AND","useRandomSort","_getUpdatedSortProper","getUpdatedSortProperties","_getUpdatedSortProper2","_slicedToArray2","updatedSortProperties","sortbyFilters","variableProps","entitiesToUse","primaryEntityToUse","unpublishedParentEntityName","getUnpublishedEntityName","allEntityNames","concat","_toConsumableArray2","uniqueEntityNames","Set","_useGetEntitySchemasA","useGetEntitySchemasAsObj","_useGetEntitySchemasA2","data","mainSchemas","_loading","loading","_error","error","parentSchema","filterEntitySchema","entitiesTypes","map","ent","getEntityData","graphqlEntityMap","reduce","acc","entityType","docTypes","_ref2","type","docType","entityTypes","_ref3","eType","style","_filtersSetup","filtersSetup","currentSchema","itemEntityUpdated","isFull","FULL","getAction","queryProps","inheritedFilters","entitySameAsCurrentItemEntity","action","filterEntityRelations","_useQuery","useQuery","generateSingleItemQuery","variables","id","skip","shouldSkipSingleQuery","_useQuery$data","_useQuery$data2","_useQuery$data2$entit","entityData","parentEntityData","_err","_load","_useGetEntitySchemasA3","getRequiredSchemas","_useGetEntitySchemasA4","requiredSchema","schemaLoading","schemaError","updatedFilterBy","getUpdatedFilterBy","updatedItemsToDisplay","getUpdatedItemsToDisplay","_filterQuerySetup","filterQuerySetup","getEntitySchemas","values","limit","hasNoFiltersOrItemsToDisplay","_useQuery2","fetchPolicy","shouldReturn","_useQuery2$data","cardData","cardsError","imageIds","_ref4","imageId","Boolean","_useGetImages","useGetImages","imagesData","imagesLoading","isLoading","hasError","message","_ref5","SEARCH_PUBLISHED_CONTENT","cardDataResults","results","removeExtraItems","orderedData","sortResponseData","_splitChildren","splitChildren","name","regularChildren","gtmChildren","updatedCards","appendImages","displayedCards","slice","createElement","Fragment","renderChildren","_extends2","cardChildren","propTypes","PropTypes","oneOfType","arrayOf","node","string","isRequired","array","func","defaultProps","_default","exports"],"sources":["../../../src/components/Card/CardsRender.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { SEARCH_PUBLISHED_CONTENT, AND, FULL } from '../../constants';\nimport { useGetEntitySchemasAsObj, useGetImages } from '../../hooks';\nimport {\n getUpdatedFilterBy,\n getEntityData,\n getRequiredSchemas,\n sortResponseData,\n getUnpublishedEntityName,\n renderChildren,\n splitChildren,\n removeExtraItems,\n appendImages\n} from '../../helpers';\nimport {\n filtersSetup,\n filterQuerySetup,\n shouldSkipSingleQuery,\n shouldReturn,\n getUpdatedSortProperties,\n getUpdatedItemsToDisplay\n} from './helpers';\n\nconst CardsContainer = dynamic(() => import('./CardsContainer'));\n\nconst CardsRender = ({\n entity: legacyEntity,\n entities,\n entityFields,\n itemsToDisplay,\n children,\n VariantComponent,\n ...otherProps\n}) => {\n const { isPreview } = useContext(MainContext);\n const {\n parent: { itemId: parentId, itemEntity: parentEntity },\n filterBy = [],\n filterByProperty = [],\n sortby,\n sort,\n sortProperties = [],\n operator: filterOperator = AND,\n useRandomSort\n } = otherProps;\n\n const [updatedSortProperties, sortbyFilters] = getUpdatedSortProperties(\n sort,\n sortby,\n sortProperties\n );\n\n const variableProps = {\n ...otherProps,\n sortProperties: updatedSortProperties,\n sort: null,\n sortby: null\n };\n\n const entitiesToUse = entities || [legacyEntity];\n const primaryEntityToUse = entitiesToUse[0];\n const unpublishedParentEntityName = getUnpublishedEntityName(parentEntity);\n const allEntityNames = [...entitiesToUse, unpublishedParentEntityName];\n const uniqueEntityNames = [...new Set(allEntityNames)];\n const {\n data: mainSchemas = {},\n loading: _loading,\n error: _error\n } = useGetEntitySchemasAsObj(uniqueEntityNames);\n const parentSchema = mainSchemas[unpublishedParentEntityName] || {};\n const filterEntitySchema = mainSchemas[primaryEntityToUse] || {};\n const entitiesTypes = entitiesToUse.map(ent => getEntityData(ent, mainSchemas[ent]));\n const graphqlEntityMap = entitiesTypes.reduce(\n (acc, entityType) => ({ ...acc, [entityType.entityType]: entityType.entity }),\n {}\n );\n const docTypes = entitiesTypes.map(({ docType: type }) => type);\n const entityTypes = entitiesTypes.map(({ entityType: eType }) => eType);\n\n const { style } = otherProps;\n\n const {\n getAction,\n queryProps,\n inheritedFilters,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n } = filtersSetup({\n entityFields,\n entityTypes,\n filterBy,\n filterByProperty,\n entities: entitiesToUse,\n currentSchema: parentSchema,\n filterEntitySchema,\n isPreview,\n itemEntityUpdated: unpublishedParentEntityName,\n isFull: style === FULL\n });\n\n const {\n data: { entityData: parentEntityData = {} } = {},\n error: _err,\n loading: _load\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: shouldSkipSingleQuery(_loading, getAction, queryProps)\n });\n\n const {\n data: requiredSchema = {},\n loading: schemaLoading,\n error: schemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n _loading\n );\n\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n parentEntityData,\n parentSchema,\n filterEntitySchema,\n parentId,\n variableProps\n );\n\n const updatedItemsToDisplay = getUpdatedItemsToDisplay({\n itemsToDisplay,\n inheritedFilters,\n parentSchema,\n parentEntityData\n });\n\n const { limit, variables } = filterQuerySetup({\n getEntitySchemas: Object.values(requiredSchema),\n entity: primaryEntityToUse,\n updatedFilterBy,\n variableProps,\n docType: docTypes,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay: updatedItemsToDisplay,\n entitySameAsCurrentItemEntity,\n useRandomSort\n });\n\n const hasNoFiltersOrItemsToDisplay = !updatedItemsToDisplay.length && !updatedFilterBy;\n\n const { data: cardData = {}, error: cardsError } = useQuery(action, {\n variables,\n fetchPolicy: useRandomSort ? 'cache-and-network' : 'cache-first',\n skip: shouldReturn(\n hasNoFiltersOrItemsToDisplay,\n _loading,\n _load,\n schemaLoading,\n _error,\n _err,\n schemaError\n )\n });\n\n const imageIds = updatedItemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n const isLoading = shouldReturn(_loading, _load, schemaLoading, imagesLoading);\n const hasError = shouldReturn(_error, _err, schemaError);\n\n if (cardsError) return cardsError.message;\n if (hasNoFiltersOrItemsToDisplay || isLoading || hasError) {\n return null;\n }\n\n let { results: cardDataResults } = cardData[SEARCH_PUBLISHED_CONTENT] || {};\n if (!cardDataResults || !cardDataResults.length) return null;\n\n cardDataResults = entitySameAsCurrentItemEntity\n ? removeExtraItems(cardDataResults, limit, parentId)\n : cardDataResults;\n\n if (!cardDataResults.length) return null;\n\n const orderedData =\n useRandomSort || updatedSortProperties.length\n ? cardDataResults\n : sortResponseData(cardDataResults, updatedItemsToDisplay);\n\n const { regularChildren, gtmChildren } = splitChildren(\n children,\n cardDataResults,\n graphqlEntityMap,\n { name: variableProps.name }\n );\n\n const updatedCards = appendImages(imagesData, orderedData, updatedItemsToDisplay);\n\n const displayedCards = updatedCards.slice(0, limit);\n\n return (\n <>\n {gtmChildren && renderChildren(gtmChildren)}\n <CardsContainer\n cardData={displayedCards}\n entity={primaryEntityToUse}\n gtmChildren={gtmChildren}\n cardChildren={regularChildren}\n graphqlEntityMap={graphqlEntityMap}\n VariantComponent={VariantComponent}\n {...variableProps}\n />\n </>\n );\n};\n\nCardsRender.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n entity: PropTypes.string.isRequired,\n entityFields: PropTypes.string.isRequired,\n itemsToDisplay: PropTypes.array,\n entities: PropTypes.array,\n VariantComponent: PropTypes.func\n};\n\nCardsRender.defaultProps = {\n children: [],\n itemsToDisplay: [],\n entities: [],\n VariantComponent: null\n};\n\nexport default CardsRender;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CardsRender.js","names":["_react","_interopRequireWildcard","require","_client","_dynamic","_interopRequireDefault","_propTypes","_nextjsComponents","_query","_constants","_hooks","_helpers","_helpers2","_helpers3","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_getRequireWildcardCache","WeakMap","__esModule","_typeof2","has","get","n","__proto__","a","u","hasOwnProperty","call","i","set","CardsContainer","dynamic","Promise","resolve","then","CardsRender","_ref","legacyEntity","entity","entities","entityFields","itemsToDisplay","children","VariantComponent","otherProps","_objectWithoutProperties2","_useContext","useContext","MainContext","isPreview","_otherProps$parent","parent","parentId","itemId","parentEntity","itemEntity","_otherProps$filterBy","filterBy","_otherProps$filterByP","filterByProperty","sortby","sort","_otherProps$sortPrope","sortProperties","_otherProps$operator","operator","filterOperator","AND","useRandomSort","_getUpdatedSortProper","getUpdatedSortProperties","_getUpdatedSortProper2","_slicedToArray2","updatedSortProperties","sortbyFilters","variableProps","entitiesToUse","primaryEntityToUse","unpublishedParentEntityName","getUnpublishedEntityName","allEntityNames","concat","_toConsumableArray2","uniqueEntityNames","Set","_useGetEntitySchemasA","useGetEntitySchemasAsObj","_useGetEntitySchemasA2","data","mainSchemas","_loading","loading","_error","error","parentSchema","filterEntitySchema","entitiesTypes","map","ent","getEntityData","graphqlEntityMap","reduce","acc","entityType","docTypes","_ref2","type","docType","entityTypes","_ref3","eType","style","_filtersSetup","filtersSetup","currentSchema","itemEntityUpdated","isFull","FULL","getAction","queryProps","inheritedFilters","entitySameAsCurrentItemEntity","action","filterEntityRelations","_useQuery","useQuery","generateSingleItemQuery","variables","id","skip","shouldSkipSingleQuery","_useQuery$data","_useQuery$data2","_useQuery$data2$entit","entityData","parentEntityData","_err","_load","_useGetEntitySchemasA3","getRequiredSchemas","_useGetEntitySchemasA4","requiredSchema","schemaLoading","schemaError","updatedFilterBy","getUpdatedFilterBy","updatedItemsToDisplay","getUpdatedItemsToDisplay","_filterQuerySetup","filterQuerySetup","getEntitySchemas","values","limit","hasNoFiltersOrItemsToDisplay","_useAppEventHook","useAppEventHook","eventName","props","updatedVariables","boostedVariables","buildQueryBooster","_useQuery2","fetchPolicy","shouldReturn","_useQuery2$data","cardData","cardsError","imageIds","_ref4","imageId","Boolean","_useGetImages","useGetImages","imagesData","imagesLoading","isLoading","hasError","message","_ref5","SEARCH_PUBLISHED_CONTENT","cardDataResults","results","removeExtraItems","orderedData","sortResponseData","_splitChildren","splitChildren","name","regularChildren","gtmChildren","updatedCards","appendImages","displayedCards","slice","createElement","Fragment","renderChildren","_extends2","cardChildren","propTypes","PropTypes","oneOfType","arrayOf","node","string","isRequired","array","func","defaultProps","_default","exports"],"sources":["../../../src/components/Card/CardsRender.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { SEARCH_PUBLISHED_CONTENT, AND, FULL } from '../../constants';\nimport { useGetEntitySchemasAsObj, useGetImages, useAppEventHook } from '../../hooks';\nimport { buildQueryBooster } from '../List/helpers';\nimport {\n getUpdatedFilterBy,\n getEntityData,\n getRequiredSchemas,\n sortResponseData,\n getUnpublishedEntityName,\n renderChildren,\n splitChildren,\n removeExtraItems,\n appendImages\n} from '../../helpers';\nimport {\n filtersSetup,\n filterQuerySetup,\n shouldSkipSingleQuery,\n shouldReturn,\n getUpdatedSortProperties,\n getUpdatedItemsToDisplay\n} from './helpers';\n\nconst CardsContainer = dynamic(() => import('./CardsContainer'));\n\nconst CardsRender = ({\n entity: legacyEntity,\n entities,\n entityFields,\n itemsToDisplay,\n children,\n VariantComponent,\n ...otherProps\n}) => {\n const { isPreview } = useContext(MainContext);\n const {\n parent: { itemId: parentId, itemEntity: parentEntity },\n filterBy = [],\n filterByProperty = [],\n sortby,\n sort,\n sortProperties = [],\n operator: filterOperator = AND,\n useRandomSort\n } = otherProps;\n\n const [updatedSortProperties, sortbyFilters] = getUpdatedSortProperties(\n sort,\n sortby,\n sortProperties\n );\n\n const variableProps = {\n ...otherProps,\n sortProperties: updatedSortProperties,\n sort: null,\n sortby: null\n };\n\n const entitiesToUse = entities || [legacyEntity];\n const primaryEntityToUse = entitiesToUse[0];\n const unpublishedParentEntityName = getUnpublishedEntityName(parentEntity);\n const allEntityNames = [...entitiesToUse, unpublishedParentEntityName];\n const uniqueEntityNames = [...new Set(allEntityNames)];\n const {\n data: mainSchemas = {},\n loading: _loading,\n error: _error\n } = useGetEntitySchemasAsObj(uniqueEntityNames);\n const parentSchema = mainSchemas[unpublishedParentEntityName] || {};\n const filterEntitySchema = mainSchemas[primaryEntityToUse] || {};\n const entitiesTypes = entitiesToUse.map(ent => getEntityData(ent, mainSchemas[ent]));\n const graphqlEntityMap = entitiesTypes.reduce(\n (acc, entityType) => ({ ...acc, [entityType.entityType]: entityType.entity }),\n {}\n );\n const docTypes = entitiesTypes.map(({ docType: type }) => type);\n const entityTypes = entitiesTypes.map(({ entityType: eType }) => eType);\n\n const { style } = otherProps;\n\n const {\n getAction,\n queryProps,\n inheritedFilters,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n } = filtersSetup({\n entityFields,\n entityTypes,\n filterBy,\n filterByProperty,\n entities: entitiesToUse,\n currentSchema: parentSchema,\n filterEntitySchema,\n isPreview,\n itemEntityUpdated: unpublishedParentEntityName,\n isFull: style === FULL\n });\n\n const {\n data: { entityData: parentEntityData = {} } = {},\n error: _err,\n loading: _load\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: shouldSkipSingleQuery(_loading, getAction, queryProps)\n });\n\n const {\n data: requiredSchema = {},\n loading: schemaLoading,\n error: schemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n _loading\n );\n\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n parentEntityData,\n parentSchema,\n filterEntitySchema,\n parentId,\n variableProps\n );\n\n const updatedItemsToDisplay = getUpdatedItemsToDisplay({\n itemsToDisplay,\n inheritedFilters,\n parentSchema,\n parentEntityData\n });\n\n const { limit, variables } = filterQuerySetup({\n getEntitySchemas: Object.values(requiredSchema),\n entity: primaryEntityToUse,\n updatedFilterBy,\n variableProps,\n docType: docTypes,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay: updatedItemsToDisplay,\n entitySameAsCurrentItemEntity,\n useRandomSort\n });\n\n const hasNoFiltersOrItemsToDisplay = !updatedItemsToDisplay.length && !updatedFilterBy;\n\n const { data: updatedVariables } = useAppEventHook({\n eventName: 'cards:query-variables',\n data: variables,\n props: variableProps\n });\n\n const boostedVariables = buildQueryBooster(otherProps, updatedVariables);\n\n const { data: cardData = {}, error: cardsError } = useQuery(action, {\n variables: boostedVariables,\n fetchPolicy: useRandomSort ? 'cache-and-network' : 'cache-first',\n skip: shouldReturn(\n hasNoFiltersOrItemsToDisplay,\n _loading,\n _load,\n schemaLoading,\n _error,\n _err,\n schemaError\n )\n });\n\n const imageIds = updatedItemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n const isLoading = shouldReturn(_loading, _load, schemaLoading, imagesLoading);\n const hasError = shouldReturn(_error, _err, schemaError);\n\n if (cardsError) return cardsError.message;\n if (hasNoFiltersOrItemsToDisplay || isLoading || hasError) {\n return null;\n }\n\n let { results: cardDataResults } = cardData[SEARCH_PUBLISHED_CONTENT] || {};\n if (!cardDataResults || !cardDataResults.length) return null;\n\n cardDataResults = entitySameAsCurrentItemEntity\n ? removeExtraItems(cardDataResults, limit, parentId)\n : cardDataResults;\n\n if (!cardDataResults.length) return null;\n\n const orderedData =\n useRandomSort || updatedSortProperties.length\n ? cardDataResults\n : sortResponseData(cardDataResults, updatedItemsToDisplay);\n\n const { regularChildren, gtmChildren } = splitChildren(\n children,\n cardDataResults,\n graphqlEntityMap,\n { name: variableProps.name }\n );\n\n const updatedCards = appendImages(imagesData, orderedData, updatedItemsToDisplay);\n\n const displayedCards = updatedCards.slice(0, limit);\n\n return (\n <>\n {gtmChildren && renderChildren(gtmChildren)}\n <CardsContainer\n cardData={displayedCards}\n entity={primaryEntityToUse}\n gtmChildren={gtmChildren}\n cardChildren={regularChildren}\n graphqlEntityMap={graphqlEntityMap}\n VariantComponent={VariantComponent}\n {...variableProps}\n />\n </>\n );\n};\n\nCardsRender.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n entity: PropTypes.string.isRequired,\n entityFields: PropTypes.string.isRequired,\n itemsToDisplay: PropTypes.array,\n entities: PropTypes.array,\n VariantComponent: PropTypes.func\n};\n\nCardsRender.defaultProps = {\n children: [],\n itemsToDisplay: [],\n entities: [],\n VariantComponent: null\n};\n\nexport default CardsRender;\n"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ Object.defineProperty(exports, "useAppEventHook", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _useAppEventHook["default"];
12
+ }
13
+ });
8
14
  Object.defineProperty(exports, "useAppSyncEventHook", {
9
15
  enumerable: true,
10
16
  get: function get() {
@@ -82,4 +88,5 @@ var _useBannerInsertion = _interopRequireDefault(require("./use-banner-insertion
82
88
  var _useAppSyncEventHook = _interopRequireDefault(require("./use-app-sync-event-hook"));
83
89
  var _usePortal = _interopRequireDefault(require("./use-portal"));
84
90
  var _useFilterAggregationValues = _interopRequireDefault(require("./use-filter-aggregation-values"));
91
+ var _useAppEventHook = _interopRequireDefault(require("./use-app-event-hook"));
85
92
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_useGetEntitySchema","_interopRequireDefault","require","_useGetEntitySchemasAsObj","_useGetImageIdFromRelation","_useGetImages","_usePageBuilder","_useGetSingleEntitySchema","_useCheckMobileScreen","_useBannerInsertion","_useAppSyncEventHook","_usePortal","_useFilterAggregationValues"],"sources":["../../src/hooks/index.js"],"sourcesContent":["export { default as useGetEntitySchema } from './use-get-entity-schema';\nexport { default as useGetEntitySchemasAsObj } from './use-get-entity-schemas-as-obj';\nexport { default as useGetImageIdFromRelation } from './use-get-image-id-from-relation';\nexport { default as useGetImages } from './use-get-images';\nexport { default as usePageBuilder } from './use-page-builder';\nexport { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';\nexport { default as useCheckMobileScreen } from './use-check-mobile-screen';\nexport { default as useBannerInsertion } from './use-banner-insertion';\nexport { default as useAppSyncEventHook } from './use-app-sync-event-hook';\nexport { default as usePortal } from './use-portal';\nexport { default as useFilterAggregationValues } from './use-filter-aggregation-values';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,0BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,eAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,yBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,qBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,mBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,oBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,UAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,2BAAA,GAAAX,sBAAA,CAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_useGetEntitySchema","_interopRequireDefault","require","_useGetEntitySchemasAsObj","_useGetImageIdFromRelation","_useGetImages","_usePageBuilder","_useGetSingleEntitySchema","_useCheckMobileScreen","_useBannerInsertion","_useAppSyncEventHook","_usePortal","_useFilterAggregationValues","_useAppEventHook"],"sources":["../../src/hooks/index.js"],"sourcesContent":["export { default as useGetEntitySchema } from './use-get-entity-schema';\nexport { default as useGetEntitySchemasAsObj } from './use-get-entity-schemas-as-obj';\nexport { default as useGetImageIdFromRelation } from './use-get-image-id-from-relation';\nexport { default as useGetImages } from './use-get-images';\nexport { default as usePageBuilder } from './use-page-builder';\nexport { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';\nexport { default as useCheckMobileScreen } from './use-check-mobile-screen';\nexport { default as useBannerInsertion } from './use-banner-insertion';\nexport { default as useAppSyncEventHook } from './use-app-sync-event-hook';\nexport { default as usePortal } from './use-portal';\nexport { default as useFilterAggregationValues } from './use-filter-aggregation-values';\nexport { default as useAppEventHook } from './use-app-event-hook';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,yBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,0BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,eAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,yBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,qBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,mBAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,oBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,UAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,2BAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,gBAAA,GAAAZ,sBAAA,CAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ require("core-js/modules/es.date.to-json.js");
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+ var _nextjsComponents = require("@blaze-cms/nextjs-components");
14
+ var _react = require("react");
15
+ var useAppEventHook = function useAppEventHook(_ref) {
16
+ var eventName = _ref.eventName,
17
+ data = _ref.data,
18
+ props = _ref.props;
19
+ var _useContext = (0, _react.useContext)(_nextjsComponents.AppContext),
20
+ blazeApp = _useContext.blazeApp;
21
+ var hasListener = blazeApp && blazeApp.events && blazeApp.events.hasListeners("plugin:page-builder:".concat(eventName));
22
+ var _useState = (0, _react.useState)(hasListener),
23
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
24
+ loading = _useState2[0],
25
+ setLoading = _useState2[1];
26
+ var _useState3 = (0, _react.useState)(null),
27
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
28
+ updatedData = _useState4[0],
29
+ setUpdatedData = _useState4[1];
30
+
31
+ // eslint-disable-next-line react-hooks/exhaustive-deps
32
+ var stableData = (0, _react.useMemo)(function () {
33
+ return data;
34
+ }, [JSON.stringify(data)]);
35
+ // eslint-disable-next-line react-hooks/exhaustive-deps
36
+ var stableProps = (0, _react.useMemo)(function () {
37
+ return props;
38
+ }, [JSON.stringify(props)]);
39
+ (0, _react.useEffect)(function () {
40
+ function emitEvent() {
41
+ return _emitEvent.apply(this, arguments);
42
+ }
43
+ function _emitEvent() {
44
+ _emitEvent = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
45
+ return _regenerator["default"].wrap(function _callee$(_context) {
46
+ while (1) switch (_context.prev = _context.next) {
47
+ case 0:
48
+ _context.next = 2;
49
+ return blazeApp.events.emitAsync("plugin:page-builder:".concat(eventName), {
50
+ data: updatedData,
51
+ props: stableProps
52
+ });
53
+ case 2:
54
+ setLoading(false);
55
+ case 3:
56
+ case "end":
57
+ return _context.stop();
58
+ }
59
+ }, _callee);
60
+ }));
61
+ return _emitEvent.apply(this, arguments);
62
+ }
63
+ if (hasListener && updatedData) emitEvent();
64
+ }, [updatedData, eventName, hasListener, blazeApp.events, stableProps]);
65
+ (0, _react.useEffect)(function () {
66
+ setUpdatedData(stableData);
67
+ }, [stableData]);
68
+ return {
69
+ data: updatedData || stableData,
70
+ loading: loading
71
+ };
72
+ };
73
+ var _default = exports["default"] = useAppEventHook;
74
+ //# sourceMappingURL=use-app-event-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-app-event-hook.js","names":["_nextjsComponents","require","_react","useAppEventHook","_ref","eventName","data","props","_useContext","useContext","AppContext","blazeApp","hasListener","events","hasListeners","concat","_useState","useState","_useState2","_slicedToArray2","loading","setLoading","_useState3","_useState4","updatedData","setUpdatedData","stableData","useMemo","JSON","stringify","stableProps","useEffect","emitEvent","_emitEvent","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","emitAsync","stop","_default","exports"],"sources":["../../src/hooks/use-app-event-hook.js"],"sourcesContent":["import { AppContext } from '@blaze-cms/nextjs-components';\nimport { useContext, useEffect, useState, useMemo } from 'react';\n\nconst useAppEventHook = ({ eventName, data, props }) => {\n const { blazeApp } = useContext(AppContext);\n const hasListener =\n blazeApp && blazeApp.events && blazeApp.events.hasListeners(`plugin:page-builder:${eventName}`);\n const [loading, setLoading] = useState(hasListener);\n const [updatedData, setUpdatedData] = useState(null);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const stableData = useMemo(() => data, [JSON.stringify(data)]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const stableProps = useMemo(() => props, [JSON.stringify(props)]);\n\n useEffect(\n () => {\n async function emitEvent() {\n // setLoading(true);\n await blazeApp.events.emitAsync(`plugin:page-builder:${eventName}`, {\n data: updatedData,\n props: stableProps\n });\n setLoading(false);\n }\n if (hasListener && updatedData) emitEvent();\n },\n [updatedData, eventName, hasListener, blazeApp.events, stableProps]\n );\n\n useEffect(\n () => {\n setUpdatedData(stableData);\n },\n [stableData]\n );\n\n return { data: updatedData || stableData, loading };\n};\nexport default useAppEventHook;\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAME,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAAmC;EAAA,IAA7BC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;EAC/C,IAAAC,WAAA,GAAqB,IAAAC,iBAAU,EAACC,4BAAU,CAAC;IAAnCC,QAAQ,GAAAH,WAAA,CAARG,QAAQ;EAChB,IAAMC,WAAW,GACfD,QAAQ,IAAIA,QAAQ,CAACE,MAAM,IAAIF,QAAQ,CAACE,MAAM,CAACC,YAAY,wBAAAC,MAAA,CAAwBV,SAAS,CAAE,CAAC;EACjG,IAAAW,SAAA,GAA8B,IAAAC,eAAQ,EAACL,WAAW,CAAC;IAAAM,UAAA,OAAAC,eAAA,aAAAH,SAAA;IAA5CI,OAAO,GAAAF,UAAA;IAAEG,UAAU,GAAAH,UAAA;EAC1B,IAAAI,UAAA,GAAsC,IAAAL,eAAQ,EAAC,IAAI,CAAC;IAAAM,UAAA,OAAAJ,eAAA,aAAAG,UAAA;IAA7CE,WAAW,GAAAD,UAAA;IAAEE,cAAc,GAAAF,UAAA;;EAElC;EACA,IAAMG,UAAU,GAAG,IAAAC,cAAO,EAAC;IAAA,OAAMrB,IAAI;EAAA,GAAE,CAACsB,IAAI,CAACC,SAAS,CAACvB,IAAI,CAAC,CAAC,CAAC;EAC9D;EACA,IAAMwB,WAAW,GAAG,IAAAH,cAAO,EAAC;IAAA,OAAMpB,KAAK;EAAA,GAAE,CAACqB,IAAI,CAACC,SAAS,CAACtB,KAAK,CAAC,CAAC,CAAC;EAEjE,IAAAwB,gBAAS,EACP,YAAM;IAAA,SACWC,SAASA,CAAA;MAAA,OAAAC,UAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAAA,SAAAF,WAAA;MAAAA,UAAA,OAAAG,kBAAA,0BAAAC,YAAA,YAAAC,IAAA,CAAxB,SAAAC,QAAA;QAAA,OAAAF,YAAA,YAAAG,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAAF,QAAA,CAAAE,IAAA;cAAA,OAEQjC,QAAQ,CAACE,MAAM,CAACgC,SAAS,wBAAA9B,MAAA,CAAwBV,SAAS,GAAI;gBAClEC,IAAI,EAAEkB,WAAW;gBACjBjB,KAAK,EAAEuB;cACT,CAAC,CAAC;YAAA;cACFT,UAAU,CAAC,KAAK,CAAC;YAAC;YAAA;cAAA,OAAAqB,QAAA,CAAAI,IAAA;UAAA;QAAA,GAAAP,OAAA;MAAA,CACnB;MAAA,OAAAN,UAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IACD,IAAIvB,WAAW,IAAIY,WAAW,EAAEQ,SAAS,CAAC,CAAC;EAC7C,CAAC,EACD,CAACR,WAAW,EAAEnB,SAAS,EAAEO,WAAW,EAAED,QAAQ,CAACE,MAAM,EAAEiB,WAAW,CACpE,CAAC;EAED,IAAAC,gBAAS,EACP,YAAM;IACJN,cAAc,CAACC,UAAU,CAAC;EAC5B,CAAC,EACD,CAACA,UAAU,CACb,CAAC;EAED,OAAO;IAAEpB,IAAI,EAAEkB,WAAW,IAAIE,UAAU;IAAEN,OAAO,EAAPA;EAAQ,CAAC;AACrD,CAAC;AAAC,IAAA2B,QAAA,GAAAC,OAAA,cACa7C,eAAe","ignoreList":[]}
@@ -11,7 +11,8 @@ import PropTypes from 'prop-types';
11
11
  import { MainContext } from '@blaze-cms/nextjs-components';
12
12
  import { generateSingleItemQuery } from '../../application/query';
13
13
  import { SEARCH_PUBLISHED_CONTENT, AND, FULL } from '../../constants';
14
- import { useGetEntitySchemasAsObj, useGetImages } from '../../hooks';
14
+ import { useGetEntitySchemasAsObj, useGetImages, useAppEventHook } from '../../hooks';
15
+ import { buildQueryBooster } from '../List/helpers';
15
16
  import { getUpdatedFilterBy, getEntityData, getRequiredSchemas, sortResponseData, getUnpublishedEntityName, renderChildren, splitChildren, removeExtraItems, appendImages } from '../../helpers';
16
17
  import { filtersSetup, filterQuerySetup, shouldSkipSingleQuery, shouldReturn, getUpdatedSortProperties, getUpdatedItemsToDisplay } from './helpers';
17
18
  const CardsContainer = dynamic(() => import('./CardsContainer'));
@@ -131,11 +132,19 @@ const CardsRender = _ref => {
131
132
  useRandomSort
132
133
  });
133
134
  const hasNoFiltersOrItemsToDisplay = !updatedItemsToDisplay.length && !updatedFilterBy;
135
+ const {
136
+ data: updatedVariables
137
+ } = useAppEventHook({
138
+ eventName: 'cards:query-variables',
139
+ data: variables,
140
+ props: variableProps
141
+ });
142
+ const boostedVariables = buildQueryBooster(otherProps, updatedVariables);
134
143
  const {
135
144
  data: cardData = {},
136
145
  error: cardsError
137
146
  } = useQuery(action, {
138
- variables,
147
+ variables: boostedVariables,
139
148
  fetchPolicy: useRandomSort ? 'cache-and-network' : 'cache-first',
140
149
  skip: shouldReturn(hasNoFiltersOrItemsToDisplay, _loading, _load, schemaLoading, _error, _err, schemaError)
141
150
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CardsRender.js","names":["React","useContext","useQuery","dynamic","PropTypes","MainContext","generateSingleItemQuery","SEARCH_PUBLISHED_CONTENT","AND","FULL","useGetEntitySchemasAsObj","useGetImages","getUpdatedFilterBy","getEntityData","getRequiredSchemas","sortResponseData","getUnpublishedEntityName","renderChildren","splitChildren","removeExtraItems","appendImages","filtersSetup","filterQuerySetup","shouldSkipSingleQuery","shouldReturn","getUpdatedSortProperties","getUpdatedItemsToDisplay","CardsContainer","CardsRender","_ref","entity","legacyEntity","entities","entityFields","itemsToDisplay","children","VariantComponent","otherProps","_objectWithoutProperties","_excluded","isPreview","parent","itemId","parentId","itemEntity","parentEntity","filterBy","filterByProperty","sortby","sort","sortProperties","operator","filterOperator","useRandomSort","updatedSortProperties","sortbyFilters","variableProps","_objectSpread","entitiesToUse","primaryEntityToUse","unpublishedParentEntityName","allEntityNames","uniqueEntityNames","Set","data","mainSchemas","loading","_loading","error","_error","parentSchema","filterEntitySchema","entitiesTypes","map","ent","graphqlEntityMap","reduce","acc","entityType","docTypes","docType","type","entityTypes","eType","style","getAction","queryProps","inheritedFilters","entitySameAsCurrentItemEntity","action","filterEntityRelations","currentSchema","itemEntityUpdated","isFull","entityData","parentEntityData","_err","_load","variables","id","skip","requiredSchema","schemaLoading","schemaError","updatedFilterBy","updatedItemsToDisplay","limit","getEntitySchemas","Object","values","hasNoFiltersOrItemsToDisplay","length","cardData","cardsError","fetchPolicy","imageIds","imageId","filter","Boolean","imagesData","imagesLoading","isLoading","hasError","message","results","cardDataResults","orderedData","regularChildren","gtmChildren","name","updatedCards","displayedCards","slice","createElement","Fragment","_extends","cardChildren","propTypes","oneOfType","arrayOf","node","string","isRequired","array","func","defaultProps"],"sources":["../../../src/components/Card/CardsRender.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { SEARCH_PUBLISHED_CONTENT, AND, FULL } from '../../constants';\nimport { useGetEntitySchemasAsObj, useGetImages } from '../../hooks';\nimport {\n getUpdatedFilterBy,\n getEntityData,\n getRequiredSchemas,\n sortResponseData,\n getUnpublishedEntityName,\n renderChildren,\n splitChildren,\n removeExtraItems,\n appendImages\n} from '../../helpers';\nimport {\n filtersSetup,\n filterQuerySetup,\n shouldSkipSingleQuery,\n shouldReturn,\n getUpdatedSortProperties,\n getUpdatedItemsToDisplay\n} from './helpers';\n\nconst CardsContainer = dynamic(() => import('./CardsContainer'));\n\nconst CardsRender = ({\n entity: legacyEntity,\n entities,\n entityFields,\n itemsToDisplay,\n children,\n VariantComponent,\n ...otherProps\n}) => {\n const { isPreview } = useContext(MainContext);\n const {\n parent: { itemId: parentId, itemEntity: parentEntity },\n filterBy = [],\n filterByProperty = [],\n sortby,\n sort,\n sortProperties = [],\n operator: filterOperator = AND,\n useRandomSort\n } = otherProps;\n\n const [updatedSortProperties, sortbyFilters] = getUpdatedSortProperties(\n sort,\n sortby,\n sortProperties\n );\n\n const variableProps = {\n ...otherProps,\n sortProperties: updatedSortProperties,\n sort: null,\n sortby: null\n };\n\n const entitiesToUse = entities || [legacyEntity];\n const primaryEntityToUse = entitiesToUse[0];\n const unpublishedParentEntityName = getUnpublishedEntityName(parentEntity);\n const allEntityNames = [...entitiesToUse, unpublishedParentEntityName];\n const uniqueEntityNames = [...new Set(allEntityNames)];\n const {\n data: mainSchemas = {},\n loading: _loading,\n error: _error\n } = useGetEntitySchemasAsObj(uniqueEntityNames);\n const parentSchema = mainSchemas[unpublishedParentEntityName] || {};\n const filterEntitySchema = mainSchemas[primaryEntityToUse] || {};\n const entitiesTypes = entitiesToUse.map(ent => getEntityData(ent, mainSchemas[ent]));\n const graphqlEntityMap = entitiesTypes.reduce(\n (acc, entityType) => ({ ...acc, [entityType.entityType]: entityType.entity }),\n {}\n );\n const docTypes = entitiesTypes.map(({ docType: type }) => type);\n const entityTypes = entitiesTypes.map(({ entityType: eType }) => eType);\n\n const { style } = otherProps;\n\n const {\n getAction,\n queryProps,\n inheritedFilters,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n } = filtersSetup({\n entityFields,\n entityTypes,\n filterBy,\n filterByProperty,\n entities: entitiesToUse,\n currentSchema: parentSchema,\n filterEntitySchema,\n isPreview,\n itemEntityUpdated: unpublishedParentEntityName,\n isFull: style === FULL\n });\n\n const {\n data: { entityData: parentEntityData = {} } = {},\n error: _err,\n loading: _load\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: shouldSkipSingleQuery(_loading, getAction, queryProps)\n });\n\n const {\n data: requiredSchema = {},\n loading: schemaLoading,\n error: schemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n _loading\n );\n\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n parentEntityData,\n parentSchema,\n filterEntitySchema,\n parentId,\n variableProps\n );\n\n const updatedItemsToDisplay = getUpdatedItemsToDisplay({\n itemsToDisplay,\n inheritedFilters,\n parentSchema,\n parentEntityData\n });\n\n const { limit, variables } = filterQuerySetup({\n getEntitySchemas: Object.values(requiredSchema),\n entity: primaryEntityToUse,\n updatedFilterBy,\n variableProps,\n docType: docTypes,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay: updatedItemsToDisplay,\n entitySameAsCurrentItemEntity,\n useRandomSort\n });\n\n const hasNoFiltersOrItemsToDisplay = !updatedItemsToDisplay.length && !updatedFilterBy;\n\n const { data: cardData = {}, error: cardsError } = useQuery(action, {\n variables,\n fetchPolicy: useRandomSort ? 'cache-and-network' : 'cache-first',\n skip: shouldReturn(\n hasNoFiltersOrItemsToDisplay,\n _loading,\n _load,\n schemaLoading,\n _error,\n _err,\n schemaError\n )\n });\n\n const imageIds = updatedItemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n const isLoading = shouldReturn(_loading, _load, schemaLoading, imagesLoading);\n const hasError = shouldReturn(_error, _err, schemaError);\n\n if (cardsError) return cardsError.message;\n if (hasNoFiltersOrItemsToDisplay || isLoading || hasError) {\n return null;\n }\n\n let { results: cardDataResults } = cardData[SEARCH_PUBLISHED_CONTENT] || {};\n if (!cardDataResults || !cardDataResults.length) return null;\n\n cardDataResults = entitySameAsCurrentItemEntity\n ? removeExtraItems(cardDataResults, limit, parentId)\n : cardDataResults;\n\n if (!cardDataResults.length) return null;\n\n const orderedData =\n useRandomSort || updatedSortProperties.length\n ? cardDataResults\n : sortResponseData(cardDataResults, updatedItemsToDisplay);\n\n const { regularChildren, gtmChildren } = splitChildren(\n children,\n cardDataResults,\n graphqlEntityMap,\n { name: variableProps.name }\n );\n\n const updatedCards = appendImages(imagesData, orderedData, updatedItemsToDisplay);\n\n const displayedCards = updatedCards.slice(0, limit);\n\n return (\n <>\n {gtmChildren && renderChildren(gtmChildren)}\n <CardsContainer\n cardData={displayedCards}\n entity={primaryEntityToUse}\n gtmChildren={gtmChildren}\n cardChildren={regularChildren}\n graphqlEntityMap={graphqlEntityMap}\n VariantComponent={VariantComponent}\n {...variableProps}\n />\n </>\n );\n};\n\nCardsRender.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n entity: PropTypes.string.isRequired,\n entityFields: PropTypes.string.isRequired,\n itemsToDisplay: PropTypes.array,\n entities: PropTypes.array,\n VariantComponent: PropTypes.func\n};\n\nCardsRender.defaultProps = {\n children: [],\n itemsToDisplay: [],\n entities: [],\n VariantComponent: null\n};\n\nexport default CardsRender;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CardsRender.js","names":["React","useContext","useQuery","dynamic","PropTypes","MainContext","generateSingleItemQuery","SEARCH_PUBLISHED_CONTENT","AND","FULL","useGetEntitySchemasAsObj","useGetImages","useAppEventHook","buildQueryBooster","getUpdatedFilterBy","getEntityData","getRequiredSchemas","sortResponseData","getUnpublishedEntityName","renderChildren","splitChildren","removeExtraItems","appendImages","filtersSetup","filterQuerySetup","shouldSkipSingleQuery","shouldReturn","getUpdatedSortProperties","getUpdatedItemsToDisplay","CardsContainer","CardsRender","_ref","entity","legacyEntity","entities","entityFields","itemsToDisplay","children","VariantComponent","otherProps","_objectWithoutProperties","_excluded","isPreview","parent","itemId","parentId","itemEntity","parentEntity","filterBy","filterByProperty","sortby","sort","sortProperties","operator","filterOperator","useRandomSort","updatedSortProperties","sortbyFilters","variableProps","_objectSpread","entitiesToUse","primaryEntityToUse","unpublishedParentEntityName","allEntityNames","uniqueEntityNames","Set","data","mainSchemas","loading","_loading","error","_error","parentSchema","filterEntitySchema","entitiesTypes","map","ent","graphqlEntityMap","reduce","acc","entityType","docTypes","docType","type","entityTypes","eType","style","getAction","queryProps","inheritedFilters","entitySameAsCurrentItemEntity","action","filterEntityRelations","currentSchema","itemEntityUpdated","isFull","entityData","parentEntityData","_err","_load","variables","id","skip","requiredSchema","schemaLoading","schemaError","updatedFilterBy","updatedItemsToDisplay","limit","getEntitySchemas","Object","values","hasNoFiltersOrItemsToDisplay","length","updatedVariables","eventName","props","boostedVariables","cardData","cardsError","fetchPolicy","imageIds","imageId","filter","Boolean","imagesData","imagesLoading","isLoading","hasError","message","results","cardDataResults","orderedData","regularChildren","gtmChildren","name","updatedCards","displayedCards","slice","createElement","Fragment","_extends","cardChildren","propTypes","oneOfType","arrayOf","node","string","isRequired","array","func","defaultProps"],"sources":["../../../src/components/Card/CardsRender.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { SEARCH_PUBLISHED_CONTENT, AND, FULL } from '../../constants';\nimport { useGetEntitySchemasAsObj, useGetImages, useAppEventHook } from '../../hooks';\nimport { buildQueryBooster } from '../List/helpers';\nimport {\n getUpdatedFilterBy,\n getEntityData,\n getRequiredSchemas,\n sortResponseData,\n getUnpublishedEntityName,\n renderChildren,\n splitChildren,\n removeExtraItems,\n appendImages\n} from '../../helpers';\nimport {\n filtersSetup,\n filterQuerySetup,\n shouldSkipSingleQuery,\n shouldReturn,\n getUpdatedSortProperties,\n getUpdatedItemsToDisplay\n} from './helpers';\n\nconst CardsContainer = dynamic(() => import('./CardsContainer'));\n\nconst CardsRender = ({\n entity: legacyEntity,\n entities,\n entityFields,\n itemsToDisplay,\n children,\n VariantComponent,\n ...otherProps\n}) => {\n const { isPreview } = useContext(MainContext);\n const {\n parent: { itemId: parentId, itemEntity: parentEntity },\n filterBy = [],\n filterByProperty = [],\n sortby,\n sort,\n sortProperties = [],\n operator: filterOperator = AND,\n useRandomSort\n } = otherProps;\n\n const [updatedSortProperties, sortbyFilters] = getUpdatedSortProperties(\n sort,\n sortby,\n sortProperties\n );\n\n const variableProps = {\n ...otherProps,\n sortProperties: updatedSortProperties,\n sort: null,\n sortby: null\n };\n\n const entitiesToUse = entities || [legacyEntity];\n const primaryEntityToUse = entitiesToUse[0];\n const unpublishedParentEntityName = getUnpublishedEntityName(parentEntity);\n const allEntityNames = [...entitiesToUse, unpublishedParentEntityName];\n const uniqueEntityNames = [...new Set(allEntityNames)];\n const {\n data: mainSchemas = {},\n loading: _loading,\n error: _error\n } = useGetEntitySchemasAsObj(uniqueEntityNames);\n const parentSchema = mainSchemas[unpublishedParentEntityName] || {};\n const filterEntitySchema = mainSchemas[primaryEntityToUse] || {};\n const entitiesTypes = entitiesToUse.map(ent => getEntityData(ent, mainSchemas[ent]));\n const graphqlEntityMap = entitiesTypes.reduce(\n (acc, entityType) => ({ ...acc, [entityType.entityType]: entityType.entity }),\n {}\n );\n const docTypes = entitiesTypes.map(({ docType: type }) => type);\n const entityTypes = entitiesTypes.map(({ entityType: eType }) => eType);\n\n const { style } = otherProps;\n\n const {\n getAction,\n queryProps,\n inheritedFilters,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n } = filtersSetup({\n entityFields,\n entityTypes,\n filterBy,\n filterByProperty,\n entities: entitiesToUse,\n currentSchema: parentSchema,\n filterEntitySchema,\n isPreview,\n itemEntityUpdated: unpublishedParentEntityName,\n isFull: style === FULL\n });\n\n const {\n data: { entityData: parentEntityData = {} } = {},\n error: _err,\n loading: _load\n } = useQuery(generateSingleItemQuery(getAction, queryProps), {\n variables: { id: parentId },\n skip: shouldSkipSingleQuery(_loading, getAction, queryProps)\n });\n\n const {\n data: requiredSchema = {},\n loading: schemaLoading,\n error: schemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n _loading\n );\n\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n parentEntityData,\n parentSchema,\n filterEntitySchema,\n parentId,\n variableProps\n );\n\n const updatedItemsToDisplay = getUpdatedItemsToDisplay({\n itemsToDisplay,\n inheritedFilters,\n parentSchema,\n parentEntityData\n });\n\n const { limit, variables } = filterQuerySetup({\n getEntitySchemas: Object.values(requiredSchema),\n entity: primaryEntityToUse,\n updatedFilterBy,\n variableProps,\n docType: docTypes,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay: updatedItemsToDisplay,\n entitySameAsCurrentItemEntity,\n useRandomSort\n });\n\n const hasNoFiltersOrItemsToDisplay = !updatedItemsToDisplay.length && !updatedFilterBy;\n\n const { data: updatedVariables } = useAppEventHook({\n eventName: 'cards:query-variables',\n data: variables,\n props: variableProps\n });\n\n const boostedVariables = buildQueryBooster(otherProps, updatedVariables);\n\n const { data: cardData = {}, error: cardsError } = useQuery(action, {\n variables: boostedVariables,\n fetchPolicy: useRandomSort ? 'cache-and-network' : 'cache-first',\n skip: shouldReturn(\n hasNoFiltersOrItemsToDisplay,\n _loading,\n _load,\n schemaLoading,\n _error,\n _err,\n schemaError\n )\n });\n\n const imageIds = updatedItemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n const isLoading = shouldReturn(_loading, _load, schemaLoading, imagesLoading);\n const hasError = shouldReturn(_error, _err, schemaError);\n\n if (cardsError) return cardsError.message;\n if (hasNoFiltersOrItemsToDisplay || isLoading || hasError) {\n return null;\n }\n\n let { results: cardDataResults } = cardData[SEARCH_PUBLISHED_CONTENT] || {};\n if (!cardDataResults || !cardDataResults.length) return null;\n\n cardDataResults = entitySameAsCurrentItemEntity\n ? removeExtraItems(cardDataResults, limit, parentId)\n : cardDataResults;\n\n if (!cardDataResults.length) return null;\n\n const orderedData =\n useRandomSort || updatedSortProperties.length\n ? cardDataResults\n : sortResponseData(cardDataResults, updatedItemsToDisplay);\n\n const { regularChildren, gtmChildren } = splitChildren(\n children,\n cardDataResults,\n graphqlEntityMap,\n { name: variableProps.name }\n );\n\n const updatedCards = appendImages(imagesData, orderedData, updatedItemsToDisplay);\n\n const displayedCards = updatedCards.slice(0, limit);\n\n return (\n <>\n {gtmChildren && renderChildren(gtmChildren)}\n <CardsContainer\n cardData={displayedCards}\n entity={primaryEntityToUse}\n gtmChildren={gtmChildren}\n cardChildren={regularChildren}\n graphqlEntityMap={graphqlEntityMap}\n VariantComponent={VariantComponent}\n {...variableProps}\n />\n </>\n );\n};\n\nCardsRender.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n entity: PropTypes.string.isRequired,\n entityFields: PropTypes.string.isRequired,\n itemsToDisplay: PropTypes.array,\n entities: PropTypes.array,\n VariantComponent: PropTypes.func\n};\n\nCardsRender.defaultProps = {\n children: [],\n itemsToDisplay: [],\n entities: [],\n VariantComponent: null\n};\n\nexport default CardsRender;\n"],"mappings":"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","ignoreList":[]}
@@ -9,4 +9,5 @@ export { default as useBannerInsertion } from './use-banner-insertion';
9
9
  export { default as useAppSyncEventHook } from './use-app-sync-event-hook';
10
10
  export { default as usePortal } from './use-portal';
11
11
  export { default as useFilterAggregationValues } from './use-filter-aggregation-values';
12
+ export { default as useAppEventHook } from './use-app-event-hook';
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","useGetEntitySchema","useGetEntitySchemasAsObj","useGetImageIdFromRelation","useGetImages","usePageBuilder","useGetSingleEntitySchema","useCheckMobileScreen","useBannerInsertion","useAppSyncEventHook","usePortal","useFilterAggregationValues"],"sources":["../../src/hooks/index.js"],"sourcesContent":["export { default as useGetEntitySchema } from './use-get-entity-schema';\nexport { default as useGetEntitySchemasAsObj } from './use-get-entity-schemas-as-obj';\nexport { default as useGetImageIdFromRelation } from './use-get-image-id-from-relation';\nexport { default as useGetImages } from './use-get-images';\nexport { default as usePageBuilder } from './use-page-builder';\nexport { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';\nexport { default as useCheckMobileScreen } from './use-check-mobile-screen';\nexport { default as useBannerInsertion } from './use-banner-insertion';\nexport { default as useAppSyncEventHook } from './use-app-sync-event-hook';\nexport { default as usePortal } from './use-portal';\nexport { default as useFilterAggregationValues } from './use-filter-aggregation-values';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,kBAAkB,QAAQ,yBAAyB;AACvE,SAASD,OAAO,IAAIE,wBAAwB,QAAQ,iCAAiC;AACrF,SAASF,OAAO,IAAIG,yBAAyB,QAAQ,kCAAkC;AACvF,SAASH,OAAO,IAAII,YAAY,QAAQ,kBAAkB;AAC1D,SAASJ,OAAO,IAAIK,cAAc,QAAQ,oBAAoB;AAC9D,SAASL,OAAO,IAAIM,wBAAwB,QAAQ,gCAAgC;AACpF,SAASN,OAAO,IAAIO,oBAAoB,QAAQ,2BAA2B;AAC3E,SAASP,OAAO,IAAIQ,kBAAkB,QAAQ,wBAAwB;AACtE,SAASR,OAAO,IAAIS,mBAAmB,QAAQ,2BAA2B;AAC1E,SAAST,OAAO,IAAIU,SAAS,QAAQ,cAAc;AACnD,SAASV,OAAO,IAAIW,0BAA0B,QAAQ,iCAAiC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["default","useGetEntitySchema","useGetEntitySchemasAsObj","useGetImageIdFromRelation","useGetImages","usePageBuilder","useGetSingleEntitySchema","useCheckMobileScreen","useBannerInsertion","useAppSyncEventHook","usePortal","useFilterAggregationValues","useAppEventHook"],"sources":["../../src/hooks/index.js"],"sourcesContent":["export { default as useGetEntitySchema } from './use-get-entity-schema';\nexport { default as useGetEntitySchemasAsObj } from './use-get-entity-schemas-as-obj';\nexport { default as useGetImageIdFromRelation } from './use-get-image-id-from-relation';\nexport { default as useGetImages } from './use-get-images';\nexport { default as usePageBuilder } from './use-page-builder';\nexport { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';\nexport { default as useCheckMobileScreen } from './use-check-mobile-screen';\nexport { default as useBannerInsertion } from './use-banner-insertion';\nexport { default as useAppSyncEventHook } from './use-app-sync-event-hook';\nexport { default as usePortal } from './use-portal';\nexport { default as useFilterAggregationValues } from './use-filter-aggregation-values';\nexport { default as useAppEventHook } from './use-app-event-hook';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,kBAAkB,QAAQ,yBAAyB;AACvE,SAASD,OAAO,IAAIE,wBAAwB,QAAQ,iCAAiC;AACrF,SAASF,OAAO,IAAIG,yBAAyB,QAAQ,kCAAkC;AACvF,SAASH,OAAO,IAAII,YAAY,QAAQ,kBAAkB;AAC1D,SAASJ,OAAO,IAAIK,cAAc,QAAQ,oBAAoB;AAC9D,SAASL,OAAO,IAAIM,wBAAwB,QAAQ,gCAAgC;AACpF,SAASN,OAAO,IAAIO,oBAAoB,QAAQ,2BAA2B;AAC3E,SAASP,OAAO,IAAIQ,kBAAkB,QAAQ,wBAAwB;AACtE,SAASR,OAAO,IAAIS,mBAAmB,QAAQ,2BAA2B;AAC1E,SAAST,OAAO,IAAIU,SAAS,QAAQ,cAAc;AACnD,SAASV,OAAO,IAAIW,0BAA0B,QAAQ,iCAAiC;AACvF,SAASX,OAAO,IAAIY,eAAe,QAAQ,sBAAsB","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ import { AppContext } from '@blaze-cms/nextjs-components';
2
+ import { useContext, useEffect, useState, useMemo } from 'react';
3
+ const useAppEventHook = ({
4
+ eventName,
5
+ data,
6
+ props
7
+ }) => {
8
+ const {
9
+ blazeApp
10
+ } = useContext(AppContext);
11
+ const hasListener = blazeApp && blazeApp.events && blazeApp.events.hasListeners(`plugin:page-builder:${eventName}`);
12
+ const [loading, setLoading] = useState(hasListener);
13
+ const [updatedData, setUpdatedData] = useState(null);
14
+
15
+ // eslint-disable-next-line react-hooks/exhaustive-deps
16
+ const stableData = useMemo(() => data, [JSON.stringify(data)]);
17
+ // eslint-disable-next-line react-hooks/exhaustive-deps
18
+ const stableProps = useMemo(() => props, [JSON.stringify(props)]);
19
+ useEffect(() => {
20
+ async function emitEvent() {
21
+ // setLoading(true);
22
+ await blazeApp.events.emitAsync(`plugin:page-builder:${eventName}`, {
23
+ data: updatedData,
24
+ props: stableProps
25
+ });
26
+ setLoading(false);
27
+ }
28
+ if (hasListener && updatedData) emitEvent();
29
+ }, [updatedData, eventName, hasListener, blazeApp.events, stableProps]);
30
+ useEffect(() => {
31
+ setUpdatedData(stableData);
32
+ }, [stableData]);
33
+ return {
34
+ data: updatedData || stableData,
35
+ loading
36
+ };
37
+ };
38
+ export default useAppEventHook;
39
+ //# sourceMappingURL=use-app-event-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-app-event-hook.js","names":["AppContext","useContext","useEffect","useState","useMemo","useAppEventHook","eventName","data","props","blazeApp","hasListener","events","hasListeners","loading","setLoading","updatedData","setUpdatedData","stableData","JSON","stringify","stableProps","emitEvent","emitAsync"],"sources":["../../src/hooks/use-app-event-hook.js"],"sourcesContent":["import { AppContext } from '@blaze-cms/nextjs-components';\nimport { useContext, useEffect, useState, useMemo } from 'react';\n\nconst useAppEventHook = ({ eventName, data, props }) => {\n const { blazeApp } = useContext(AppContext);\n const hasListener =\n blazeApp && blazeApp.events && blazeApp.events.hasListeners(`plugin:page-builder:${eventName}`);\n const [loading, setLoading] = useState(hasListener);\n const [updatedData, setUpdatedData] = useState(null);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const stableData = useMemo(() => data, [JSON.stringify(data)]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const stableProps = useMemo(() => props, [JSON.stringify(props)]);\n\n useEffect(\n () => {\n async function emitEvent() {\n // setLoading(true);\n await blazeApp.events.emitAsync(`plugin:page-builder:${eventName}`, {\n data: updatedData,\n props: stableProps\n });\n setLoading(false);\n }\n if (hasListener && updatedData) emitEvent();\n },\n [updatedData, eventName, hasListener, blazeApp.events, stableProps]\n );\n\n useEffect(\n () => {\n setUpdatedData(stableData);\n },\n [stableData]\n );\n\n return { data: updatedData || stableData, loading };\n};\nexport default useAppEventHook;\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,8BAA8B;AACzD,SAASC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,OAAO,QAAQ,OAAO;AAEhE,MAAMC,eAAe,GAAGA,CAAC;EAAEC,SAAS;EAAEC,IAAI;EAAEC;AAAM,CAAC,KAAK;EACtD,MAAM;IAAEC;EAAS,CAAC,GAAGR,UAAU,CAACD,UAAU,CAAC;EAC3C,MAAMU,WAAW,GACfD,QAAQ,IAAIA,QAAQ,CAACE,MAAM,IAAIF,QAAQ,CAACE,MAAM,CAACC,YAAY,CAAC,uBAAuBN,SAAS,EAAE,CAAC;EACjG,MAAM,CAACO,OAAO,EAAEC,UAAU,CAAC,GAAGX,QAAQ,CAACO,WAAW,CAAC;EACnD,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAGb,QAAQ,CAAC,IAAI,CAAC;;EAEpD;EACA,MAAMc,UAAU,GAAGb,OAAO,CAAC,MAAMG,IAAI,EAAE,CAACW,IAAI,CAACC,SAAS,CAACZ,IAAI,CAAC,CAAC,CAAC;EAC9D;EACA,MAAMa,WAAW,GAAGhB,OAAO,CAAC,MAAMI,KAAK,EAAE,CAACU,IAAI,CAACC,SAAS,CAACX,KAAK,CAAC,CAAC,CAAC;EAEjEN,SAAS,CACP,MAAM;IACJ,eAAemB,SAASA,CAAA,EAAG;MACzB;MACA,MAAMZ,QAAQ,CAACE,MAAM,CAACW,SAAS,CAAC,uBAAuBhB,SAAS,EAAE,EAAE;QAClEC,IAAI,EAAEQ,WAAW;QACjBP,KAAK,EAAEY;MACT,CAAC,CAAC;MACFN,UAAU,CAAC,KAAK,CAAC;IACnB;IACA,IAAIJ,WAAW,IAAIK,WAAW,EAAEM,SAAS,CAAC,CAAC;EAC7C,CAAC,EACD,CAACN,WAAW,EAAET,SAAS,EAAEI,WAAW,EAAED,QAAQ,CAACE,MAAM,EAAES,WAAW,CACpE,CAAC;EAEDlB,SAAS,CACP,MAAM;IACJc,cAAc,CAACC,UAAU,CAAC;EAC5B,CAAC,EACD,CAACA,UAAU,CACb,CAAC;EAED,OAAO;IAAEV,IAAI,EAAEQ,WAAW,IAAIE,UAAU;IAAEJ;EAAQ,CAAC;AACrD,CAAC;AACD,eAAeR,eAAe","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.146.0-node18-core-styles-tooltips.51",
3
+ "version": "0.146.0-node18-core-styles-tooltips.52",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -92,5 +92,5 @@
92
92
  "lib/*",
93
93
  "lib-es/*"
94
94
  ],
95
- "gitHead": "3e65a830fe0750401e7c2c6a3556bb4513e8f0e6"
95
+ "gitHead": "a023f9c35df5a4c7eceba4d6f21c669bb04b8f6b"
96
96
  }
@@ -5,7 +5,8 @@ import PropTypes from 'prop-types';
5
5
  import { MainContext } from '@blaze-cms/nextjs-components';
6
6
  import { generateSingleItemQuery } from '../../application/query';
7
7
  import { SEARCH_PUBLISHED_CONTENT, AND, FULL } from '../../constants';
8
- import { useGetEntitySchemasAsObj, useGetImages } from '../../hooks';
8
+ import { useGetEntitySchemasAsObj, useGetImages, useAppEventHook } from '../../hooks';
9
+ import { buildQueryBooster } from '../List/helpers';
9
10
  import {
10
11
  getUpdatedFilterBy,
11
12
  getEntityData,
@@ -153,8 +154,16 @@ const CardsRender = ({
153
154
 
154
155
  const hasNoFiltersOrItemsToDisplay = !updatedItemsToDisplay.length && !updatedFilterBy;
155
156
 
157
+ const { data: updatedVariables } = useAppEventHook({
158
+ eventName: 'cards:query-variables',
159
+ data: variables,
160
+ props: variableProps
161
+ });
162
+
163
+ const boostedVariables = buildQueryBooster(otherProps, updatedVariables);
164
+
156
165
  const { data: cardData = {}, error: cardsError } = useQuery(action, {
157
- variables,
166
+ variables: boostedVariables,
158
167
  fetchPolicy: useRandomSort ? 'cache-and-network' : 'cache-first',
159
168
  skip: shouldReturn(
160
169
  hasNoFiltersOrItemsToDisplay,
@@ -9,3 +9,4 @@ export { default as useBannerInsertion } from './use-banner-insertion';
9
9
  export { default as useAppSyncEventHook } from './use-app-sync-event-hook';
10
10
  export { default as usePortal } from './use-portal';
11
11
  export { default as useFilterAggregationValues } from './use-filter-aggregation-values';
12
+ export { default as useAppEventHook } from './use-app-event-hook';
@@ -0,0 +1,40 @@
1
+ import { AppContext } from '@blaze-cms/nextjs-components';
2
+ import { useContext, useEffect, useState, useMemo } from 'react';
3
+
4
+ const useAppEventHook = ({ eventName, data, props }) => {
5
+ const { blazeApp } = useContext(AppContext);
6
+ const hasListener =
7
+ blazeApp && blazeApp.events && blazeApp.events.hasListeners(`plugin:page-builder:${eventName}`);
8
+ const [loading, setLoading] = useState(hasListener);
9
+ const [updatedData, setUpdatedData] = useState(null);
10
+
11
+ // eslint-disable-next-line react-hooks/exhaustive-deps
12
+ const stableData = useMemo(() => data, [JSON.stringify(data)]);
13
+ // eslint-disable-next-line react-hooks/exhaustive-deps
14
+ const stableProps = useMemo(() => props, [JSON.stringify(props)]);
15
+
16
+ useEffect(
17
+ () => {
18
+ async function emitEvent() {
19
+ // setLoading(true);
20
+ await blazeApp.events.emitAsync(`plugin:page-builder:${eventName}`, {
21
+ data: updatedData,
22
+ props: stableProps
23
+ });
24
+ setLoading(false);
25
+ }
26
+ if (hasListener && updatedData) emitEvent();
27
+ },
28
+ [updatedData, eventName, hasListener, blazeApp.events, stableProps]
29
+ );
30
+
31
+ useEffect(
32
+ () => {
33
+ setUpdatedData(stableData);
34
+ },
35
+ [stableData]
36
+ );
37
+
38
+ return { data: updatedData || stableData, loading };
39
+ };
40
+ export default useAppEventHook;
@@ -0,0 +1,118 @@
1
+ /**
2
+ * @jest-environment jsdom
3
+ */
4
+ import React from 'react';
5
+ import { render } from '@testing-library/react'; // No hooks here
6
+ import { useQuery } from '@apollo/client';
7
+ import { MainContext } from '@blaze-cms/nextjs-components';
8
+ import CardsRender from '../../../../../src/components/Card/CardsRender';
9
+ import { useAppEventHook } from '../../../../../src/hooks';
10
+ import { buildQueryBooster } from '../../../../../src/components/List/helpers';
11
+
12
+ // Mocks
13
+ jest.mock('@apollo/client', () => ({
14
+ useQuery: jest.fn(),
15
+ gql: jest.fn(str => str)
16
+ }));
17
+
18
+ jest.mock('../../../../../src/hooks', () => ({
19
+ useGetEntitySchemasAsObj: jest.fn(() => ({})),
20
+ useGetImages: jest.fn(() => ({ data: [], loading: false })),
21
+ useAppEventHook: jest.fn()
22
+ }));
23
+
24
+ jest.mock('../../../../../src/components/List/helpers', () => ({
25
+ buildQueryBooster: jest.fn()
26
+ }));
27
+
28
+ // Mock dynamic import
29
+ jest.mock('next/dynamic', () => () => {
30
+ const DynamicComponent = () => null;
31
+ DynamicComponent.displayName = 'LoadableComponent';
32
+ DynamicComponent.preload = jest.fn();
33
+ return DynamicComponent;
34
+ });
35
+
36
+ describe('CardsRender', () => {
37
+ const mockProps = {
38
+ entity: { id: '1', kind: 'Article' },
39
+ entities: [],
40
+ entityFields: {},
41
+ itemsToDisplay: [{ id: '1', kind: 'Article' }], // Ensure itemsToDisplay has content so query runs
42
+ children: null,
43
+ VariantComponent: () => null,
44
+ recencyBoostProperty: ['publishedAt'], // Example prop intended for boosting
45
+ parent: { itemId: '1', itemEntity: 'Article' }
46
+ };
47
+
48
+ const mockContext = {
49
+ isPreview: false
50
+ };
51
+
52
+ beforeEach(() => {
53
+ jest.clearAllMocks();
54
+ useQuery.mockReturnValue({ data: {}, loading: false, error: null });
55
+
56
+ // Default mock implementation for app event hook (returns data unchanged)
57
+ useAppEventHook.mockImplementation(({ data }) => ({ data, loading: false }));
58
+
59
+ // Default mock for booster (returns data unchanged)
60
+ buildQueryBooster.mockImplementation((_, data) => data);
61
+ });
62
+
63
+ it('should trigger useAppEventHook with correct arguments', () => {
64
+ // We expect variables to be derived inside CardsRender (from filterQuerySetup helper logic)
65
+ // Since itemsToDisplay is passed, filterQuerySetup should produce some variables.
66
+
67
+ render(
68
+ <MainContext.Provider value={mockContext}>
69
+ <CardsRender {...mockProps} />
70
+ </MainContext.Provider>
71
+ );
72
+
73
+ expect(useAppEventHook).toHaveBeenCalledWith(
74
+ expect.objectContaining({
75
+ eventName: 'cards:query-variables',
76
+ // We can't easily predict 'data' (variables) without mocking filterQuerySetup heavily,
77
+ // but we can check the eventName is correct.
78
+ props: expect.objectContaining({
79
+ recencyBoostProperty: mockProps.recencyBoostProperty
80
+ })
81
+ })
82
+ );
83
+ });
84
+
85
+ it('should call buildQueryBooster with the result from useAppEventHook', () => {
86
+ const hookData = { someVar: 'hook-modified' };
87
+ useAppEventHook.mockReturnValue({ data: hookData, loading: false });
88
+
89
+ render(
90
+ <MainContext.Provider value={mockContext}>
91
+ <CardsRender {...mockProps} />
92
+ </MainContext.Provider>
93
+ );
94
+
95
+ expect(buildQueryBooster).toHaveBeenCalledWith(
96
+ expect.objectContaining({ recencyBoostProperty: mockProps.recencyBoostProperty }),
97
+ hookData
98
+ );
99
+ });
100
+
101
+ it('should pass boosted variables to useQuery', () => {
102
+ const boostedVars = { boosted: true };
103
+ buildQueryBooster.mockReturnValue(boostedVars);
104
+
105
+ render(
106
+ <MainContext.Provider value={mockContext}>
107
+ <CardsRender {...mockProps} />
108
+ </MainContext.Provider>
109
+ );
110
+
111
+ expect(useQuery).toHaveBeenCalledWith(
112
+ expect.any(Object), // action
113
+ expect.objectContaining({
114
+ variables: boostedVars
115
+ })
116
+ );
117
+ });
118
+ });
@@ -0,0 +1,60 @@
1
+ import React from 'react';
2
+ import { renderHook } from '@testing-library/react-hooks';
3
+ import { AppContext } from '@blaze-cms/nextjs-components';
4
+ import { useAppEventHook } from '../../../../src/hooks';
5
+
6
+ describe('useAppEventHook', () => {
7
+ const eventName = 'test-event';
8
+ const initialData = { foo: 'bar' };
9
+ const props = { prop1: 'val1' };
10
+ let blazeAppMock;
11
+
12
+ beforeEach(() => {
13
+ blazeAppMock = {
14
+ events: {
15
+ hasListeners: jest.fn(),
16
+ emitAsync: jest.fn().mockResolvedValue()
17
+ }
18
+ };
19
+ });
20
+
21
+ const wrapper = ({ children }) => (
22
+ <AppContext.Provider value={{ blazeApp: blazeAppMock }}>{children}</AppContext.Provider>
23
+ );
24
+
25
+ it('should not emit event if there are no listeners', () => {
26
+ blazeAppMock.events.hasListeners.mockReturnValue(false);
27
+
28
+ const { result } = renderHook(() => useAppEventHook({ eventName, data: initialData, props }), {
29
+ wrapper
30
+ });
31
+
32
+ expect(result.current.loading).toBe(false);
33
+ expect(result.current.data).toEqual(initialData); // Returns initial data immediately
34
+ expect(blazeAppMock.events.emitAsync).not.toHaveBeenCalled();
35
+ });
36
+
37
+ it('should emit async event if listeners exist', async () => {
38
+ blazeAppMock.events.hasListeners.mockReturnValue(true);
39
+
40
+ const { result, waitForNextUpdate } = renderHook(
41
+ () => useAppEventHook({ eventName, data: initialData, props }),
42
+ { wrapper }
43
+ );
44
+
45
+ // Initial state: loading is true because hasListeners is true
46
+ expect(result.current.loading).toBe(true);
47
+
48
+ // Wait for the useEffect chain (setUpdatedData -> emitEvent -> setLoading)
49
+ await waitForNextUpdate();
50
+
51
+ expect(blazeAppMock.events.emitAsync).toHaveBeenCalledWith(`plugin:page-builder:${eventName}`, {
52
+ data: initialData,
53
+ props
54
+ });
55
+
56
+ // Loading should be false after emitAsync resolves
57
+ expect(result.current.loading).toBe(false);
58
+ expect(result.current.data).toEqual(initialData);
59
+ });
60
+ });