@blaze-cms/react-page-builder 0.140.2-core-styles.0 → 0.141.0-core-styles.0

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,33 @@
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.0](https://github.com/thebyte9/blaze/compare/v0.140.2-core-styles.1...v0.141.0-core-styles.0) (2024-03-08)
7
+
8
+
9
+ ### Features
10
+
11
+ * page builder component app event hook ([#4290](https://github.com/thebyte9/blaze/issues/4290)) ([f97ae66](https://github.com/thebyte9/blaze/commit/f97ae66eb03aff3837f67e089334ba4128f50081))
12
+
13
+
14
+
15
+ ## [0.140.1](https://github.com/thebyte9/blaze/compare/v0.140.1-alpha.0...v0.140.1) (2024-03-04)
16
+
17
+
18
+
19
+ ## [0.140.1-alpha.0](https://github.com/thebyte9/blaze/compare/v0.140.0...v0.140.1-alpha.0) (2024-03-04)
20
+
21
+
22
+
23
+
24
+
25
+ ## [0.140.2-core-styles.1](https://github.com/thebyte9/blaze/compare/v0.140.2-core-styles.0...v0.140.2-core-styles.1) (2024-03-07)
26
+
27
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
28
+
29
+
30
+
31
+
32
+
6
33
  ## [0.140.2-core-styles.0](https://github.com/thebyte9/blaze/compare/v0.140.0...v0.140.2-core-styles.0) (2024-03-06)
7
34
 
8
35
 
package/README.md CHANGED
@@ -336,6 +336,29 @@ Has the following internal functions that can be accessed `get` `getAll` `add`
336
336
 
337
337
  # Hooks
338
338
 
339
+ ### useAppSyncEventHook
340
+ This hook will emit a syc app event based on the eventName passed and will pass forward any data recieved
341
+ It recieves the following props
342
+
343
+ eventName
344
+ The event ame to be triggered by the hook ie. list:query-variables
345
+
346
+ data
347
+ This data will be passed forward to the event
348
+
349
+ props
350
+ Extra props that will be passed forward to the event
351
+
352
+ Here is an example event:
353
+
354
+ app.events.once('plugin:page-builder:test-event:sync', ({ data, props }) => {
355
+ // check props if needed
356
+ data.modifiedProp = true;
357
+ // here the data is modified as needed
358
+ // it returns no value
359
+ });
360
+
361
+
339
362
  ## helpers
340
363
 
341
364
  ### buildPBComponents
@@ -15,6 +15,7 @@ var _Pagination = _interopRequireDefault(require("./components/Pagination"));
15
15
  var _Header = _interopRequireDefault(require("./components/Header"));
16
16
  var _helpers = require("../../helpers");
17
17
  var _constants = require("../../constants");
18
+ var _hooks = require("../../hooks");
18
19
  var ListRender = function ListRender(props) {
19
20
  var variables = props.variables,
20
21
  actionKey = props.actionKey,
@@ -34,8 +35,14 @@ var ListRender = function ListRender(props) {
34
35
  isAZ = props.isAZ,
35
36
  azFilter = props.azFilter,
36
37
  displayTotal = props.displayTotal;
38
+ var _useAppSyncEventHook = (0, _hooks.useAppSyncEventHook)({
39
+ eventName: 'list:query-variables',
40
+ data: variables,
41
+ props: props
42
+ }),
43
+ updatedVariables = _useAppSyncEventHook.data;
37
44
  var _useQuery = (0, _client.useQuery)(action, {
38
- variables: variables
45
+ variables: updatedVariables
39
46
  }),
40
47
  _useQuery$data = _useQuery.data,
41
48
  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","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","ListComponent","listComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","_useQuery","useQuery","_useQuery$data","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';\n\nconst ListRender = props => {\n const {\n variables,\n actionKey,\n action,\n name,\n itemsToDisplay,\n itemsPerPageToUse,\n limitToUse,\n initialOffset,\n isInfinite,\n omitWrappers,\n paginationType,\n listComponent: ListComponent,\n query,\n url,\n listAggregations,\n isAZ,\n azFilter,\n displayTotal\n } = props;\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables\n });\n if (loading) return '';\n if (error) return error.message;\n if (!data[actionKey] || !data[actionKey].results) return null;\n\n const listData = data[actionKey].results;\n const listTotal = data[actionKey].total;\n const orderedListData = sortResponseData(listData, itemsToDisplay);\n if (!orderedListData || !orderedListData.length) return null;\n const { length: currentListLength } = orderedListData;\n const currentPage = Math.ceil((initialOffset + currentListLength) / itemsPerPageToUse);\n const totalDisplay = limitToUse && listTotal > limitToUse ? limitToUse : listTotal;\n\n return (\n <>\n <span className=\"list-top\" />\n {isAZ && <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />}\n {displayTotal && (\n <div className=\"list_total_results w-full text-left p-4\">Total results: {totalDisplay}</div>\n )}\n <ListComponent\n orderedListData={orderedListData}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n fetchMore={fetchMore}\n omitWrappers={omitWrappers}\n itemsPerPageToUse={itemsPerPageToUse || listData.length}\n listTotal={listTotal}\n currentListLength={currentListLength}\n currentPage={currentPage}\n query={query}\n url={url}\n itemsToDisplay={itemsToDisplay}\n {...props}\n />\n {paginationType !== LOAD_MORE && (\n <ListPagination\n limitToUse={limitToUse}\n itemsPerPage={itemsPerPageToUse}\n listTotal={listTotal}\n name={name}\n isInfinite={isInfinite}\n currentListLength={currentListLength}\n paginationType={paginationType}\n currentPage={currentPage}\n query={query}\n url={url}\n />\n )}\n </>\n );\n};\n\nListRender.propTypes = {\n name: PropTypes.string.isRequired,\n paginationType: PropTypes.string.isRequired,\n variables: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n itemsPerPageToUse: PropTypes.number.isRequired,\n limitToUse: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n omitWrappers: PropTypes.bool,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n listComponent: PropTypes.func.isRequired,\n isAZ: PropTypes.bool.isRequired,\n azFilter: PropTypes.string.isRequired,\n listAggregations: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n displayTotal: PropTypes.bool\n};\n\nListRender.defaultProps = {\n omitWrappers: false,\n itemsToDisplay: [],\n listAggregations: [],\n displayTotal: false\n};\n\nexport default ListRender;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListRender.js","names":["_react","_interopRequireDefault","require","_client","_propTypes","_Pagination","_Header","_helpers","_constants","_hooks","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","ListComponent","listComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","_useAppSyncEventHook","useAppSyncEventHook","eventName","data","updatedVariables","_useQuery","useQuery","_useQuery$data","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","sortResponseData","length","currentListLength","currentPage","Math","ceil","totalDisplay","createElement","Fragment","className","_extends2","LOAD_MORE","itemsPerPage","propTypes","PropTypes","string","isRequired","object","number","bool","func","array","defaultProps","_default","exports"],"sources":["../../../src/components/List/ListRender.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport ListPagination from './components/Pagination';\nimport ListHeader from './components/Header';\nimport { sortResponseData } from '../../helpers';\nimport { LOAD_MORE } from '../../constants';\nimport { useAppSyncEventHook } from '../../hooks';\n\nconst ListRender = props => {\n const {\n variables,\n actionKey,\n action,\n name,\n itemsToDisplay,\n itemsPerPageToUse,\n limitToUse,\n initialOffset,\n isInfinite,\n omitWrappers,\n paginationType,\n listComponent: ListComponent,\n query,\n url,\n listAggregations,\n isAZ,\n azFilter,\n displayTotal\n } = props;\n const { data: updatedVariables } = useAppSyncEventHook({\n eventName: 'list:query-variables',\n data: variables,\n props\n });\n\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables: updatedVariables\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data[actionKey] || !data[actionKey].results) return null;\n\n const listData = data[actionKey].results;\n const listTotal = data[actionKey].total;\n const orderedListData = sortResponseData(listData, itemsToDisplay);\n if (!orderedListData || !orderedListData.length) return null;\n const { length: currentListLength } = orderedListData;\n const currentPage = Math.ceil((initialOffset + currentListLength) / itemsPerPageToUse);\n const totalDisplay = limitToUse && listTotal > limitToUse ? limitToUse : listTotal;\n\n return (\n <>\n <span className=\"list-top\" />\n {isAZ && <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />}\n {displayTotal && (\n <div className=\"list_total_results w-full text-left p-4\">Total results: {totalDisplay}</div>\n )}\n <ListComponent\n orderedListData={orderedListData}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n fetchMore={fetchMore}\n omitWrappers={omitWrappers}\n itemsPerPageToUse={itemsPerPageToUse || listData.length}\n listTotal={listTotal}\n currentListLength={currentListLength}\n currentPage={currentPage}\n query={query}\n url={url}\n itemsToDisplay={itemsToDisplay}\n {...props}\n />\n {paginationType !== LOAD_MORE && (\n <ListPagination\n limitToUse={limitToUse}\n itemsPerPage={itemsPerPageToUse}\n listTotal={listTotal}\n name={name}\n isInfinite={isInfinite}\n currentListLength={currentListLength}\n paginationType={paginationType}\n currentPage={currentPage}\n query={query}\n url={url}\n />\n )}\n </>\n );\n};\n\nListRender.propTypes = {\n name: PropTypes.string.isRequired,\n paginationType: PropTypes.string.isRequired,\n variables: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n itemsPerPageToUse: PropTypes.number.isRequired,\n limitToUse: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n omitWrappers: PropTypes.bool,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n listComponent: PropTypes.func.isRequired,\n isAZ: PropTypes.bool.isRequired,\n azFilter: PropTypes.string.isRequired,\n listAggregations: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n displayTotal: PropTypes.bool\n};\n\nListRender.defaultProps = {\n omitWrappers: false,\n itemsToDisplay: [],\n listAggregations: [],\n displayTotal: false\n};\n\nexport default ListRender;\n"],"mappings":"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"}
@@ -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, "useAppSyncEventHook", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _useAppSyncEventHook["default"];
12
+ }
13
+ });
8
14
  Object.defineProperty(exports, "useBannerInsertion", {
9
15
  enumerable: true,
10
16
  get: function get() {
@@ -61,4 +67,5 @@ var _usePageBuilder = _interopRequireDefault(require("./use-page-builder"));
61
67
  var _useGetSingleEntitySchema = _interopRequireDefault(require("./use-get-single-entity-schema"));
62
68
  var _useCheckMobileScreen = _interopRequireDefault(require("./use-check-mobile-screen"));
63
69
  var _useBannerInsertion = _interopRequireDefault(require("./use-banner-insertion"));
70
+ var _useAppSyncEventHook = _interopRequireDefault(require("./use-app-sync-event-hook"));
64
71
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_useGetEntitySchema","_interopRequireDefault","require","_useGetEntitySchemasAsObj","_useGetImageIdFromRelation","_useGetImages","_usePageBuilder","_useGetSingleEntitySchema","_useCheckMobileScreen","_useBannerInsertion"],"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';\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"}
1
+ {"version":3,"file":"index.js","names":["_useGetEntitySchema","_interopRequireDefault","require","_useGetEntitySchemasAsObj","_useGetImageIdFromRelation","_useGetImages","_usePageBuilder","_useGetSingleEntitySchema","_useCheckMobileScreen","_useBannerInsertion","_useAppSyncEventHook"],"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';\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"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ require("core-js/modules/es.array.concat.js");
9
+ var _react = require("react");
10
+ var _nextjsComponents = require("@blaze-cms/nextjs-components");
11
+ var EVENET_PREFIX = 'plugin:page-builder:';
12
+ var EVENET_SUFIX = ':sync';
13
+ var useAppSyncEventHook = function useAppSyncEventHook(_ref) {
14
+ var eventName = _ref.eventName,
15
+ data = _ref.data,
16
+ props = _ref.props;
17
+ var _useContext = (0, _react.useContext)(_nextjsComponents.AppContext),
18
+ blazeApp = _useContext.blazeApp;
19
+ if (!blazeApp) return {
20
+ data: data
21
+ };
22
+ blazeApp.events.emit("".concat(EVENET_PREFIX).concat(eventName).concat(EVENET_SUFIX), {
23
+ data: data,
24
+ props: props
25
+ });
26
+ return {
27
+ data: data
28
+ };
29
+ };
30
+ var _default = exports["default"] = useAppSyncEventHook;
31
+ //# sourceMappingURL=use-app-sync-event-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-app-sync-event-hook.js","names":["_react","require","_nextjsComponents","EVENET_PREFIX","EVENET_SUFIX","useAppSyncEventHook","_ref","eventName","data","props","_useContext","useContext","AppContext","blazeApp","events","emit","concat","_default","exports"],"sources":["../../src/hooks/use-app-sync-event-hook.js"],"sourcesContent":["import { useContext } from 'react';\nimport { AppContext } from '@blaze-cms/nextjs-components';\n\nconst EVENET_PREFIX = 'plugin:page-builder:';\nconst EVENET_SUFIX = ':sync';\n\nconst useAppSyncEventHook = ({ eventName, data, props }) => {\n const { blazeApp } = useContext(AppContext);\n if (!blazeApp) return { data };\n\n blazeApp.events.emit(`${EVENET_PREFIX}${eventName}${EVENET_SUFIX}`, {\n data,\n props\n });\n\n return { data };\n};\n\nexport default useAppSyncEventHook;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAEA,IAAME,aAAa,GAAG,sBAAsB;AAC5C,IAAMC,YAAY,GAAG,OAAO;AAE5B,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAAmC;EAAA,IAA7BC,SAAS,GAAAD,IAAA,CAATC,SAAS;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,KAAK,GAAAH,IAAA,CAALG,KAAK;EACnD,IAAAC,WAAA,GAAqB,IAAAC,iBAAU,EAACC,4BAAU,CAAC;IAAnCC,QAAQ,GAAAH,WAAA,CAARG,QAAQ;EAChB,IAAI,CAACA,QAAQ,EAAE,OAAO;IAAEL,IAAI,EAAJA;EAAK,CAAC;EAE9BK,QAAQ,CAACC,MAAM,CAACC,IAAI,IAAAC,MAAA,CAAIb,aAAa,EAAAa,MAAA,CAAGT,SAAS,EAAAS,MAAA,CAAGZ,YAAY,GAAI;IAClEI,IAAI,EAAJA,IAAI;IACJC,KAAK,EAALA;EACF,CAAC,CAAC;EAEF,OAAO;IAAED,IAAI,EAAJA;EAAK,CAAC;AACjB,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,cAEab,mBAAmB"}
@@ -6,6 +6,7 @@ import ListPagination from './components/Pagination';
6
6
  import ListHeader from './components/Header';
7
7
  import { sortResponseData } from '../../helpers';
8
8
  import { LOAD_MORE } from '../../constants';
9
+ import { useAppSyncEventHook } from '../../hooks';
9
10
  const ListRender = props => {
10
11
  const {
11
12
  variables,
@@ -27,13 +28,20 @@ const ListRender = props => {
27
28
  azFilter,
28
29
  displayTotal
29
30
  } = props;
31
+ const {
32
+ data: updatedVariables
33
+ } = useAppSyncEventHook({
34
+ eventName: 'list:query-variables',
35
+ data: variables,
36
+ props
37
+ });
30
38
  const {
31
39
  data = {},
32
40
  error,
33
41
  loading,
34
42
  fetchMore
35
43
  } = useQuery(action, {
36
- variables
44
+ variables: updatedVariables
37
45
  });
38
46
  if (loading) return '';
39
47
  if (error) return error.message;
@@ -1 +1 @@
1
- {"version":3,"file":"ListRender.js","names":["React","useQuery","PropTypes","ListPagination","ListHeader","sortResponseData","LOAD_MORE","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","listComponent","ListComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","data","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","length","currentListLength","currentPage","Math","ceil","totalDisplay","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';\n\nconst ListRender = props => {\n const {\n variables,\n actionKey,\n action,\n name,\n itemsToDisplay,\n itemsPerPageToUse,\n limitToUse,\n initialOffset,\n isInfinite,\n omitWrappers,\n paginationType,\n listComponent: ListComponent,\n query,\n url,\n listAggregations,\n isAZ,\n azFilter,\n displayTotal\n } = props;\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables\n });\n if (loading) return '';\n if (error) return error.message;\n if (!data[actionKey] || !data[actionKey].results) return null;\n\n const listData = data[actionKey].results;\n const listTotal = data[actionKey].total;\n const orderedListData = sortResponseData(listData, itemsToDisplay);\n if (!orderedListData || !orderedListData.length) return null;\n const { length: currentListLength } = orderedListData;\n const currentPage = Math.ceil((initialOffset + currentListLength) / itemsPerPageToUse);\n const totalDisplay = limitToUse && listTotal > limitToUse ? limitToUse : listTotal;\n\n return (\n <>\n <span className=\"list-top\" />\n {isAZ && <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />}\n {displayTotal && (\n <div className=\"list_total_results w-full text-left p-4\">Total results: {totalDisplay}</div>\n )}\n <ListComponent\n orderedListData={orderedListData}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n fetchMore={fetchMore}\n omitWrappers={omitWrappers}\n itemsPerPageToUse={itemsPerPageToUse || listData.length}\n listTotal={listTotal}\n currentListLength={currentListLength}\n currentPage={currentPage}\n query={query}\n url={url}\n itemsToDisplay={itemsToDisplay}\n {...props}\n />\n {paginationType !== LOAD_MORE && (\n <ListPagination\n limitToUse={limitToUse}\n itemsPerPage={itemsPerPageToUse}\n listTotal={listTotal}\n name={name}\n isInfinite={isInfinite}\n currentListLength={currentListLength}\n paginationType={paginationType}\n currentPage={currentPage}\n query={query}\n url={url}\n />\n )}\n </>\n );\n};\n\nListRender.propTypes = {\n name: PropTypes.string.isRequired,\n paginationType: PropTypes.string.isRequired,\n variables: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n itemsPerPageToUse: PropTypes.number.isRequired,\n limitToUse: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n omitWrappers: PropTypes.bool,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n listComponent: PropTypes.func.isRequired,\n isAZ: PropTypes.bool.isRequired,\n azFilter: PropTypes.string.isRequired,\n listAggregations: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n displayTotal: PropTypes.bool\n};\n\nListRender.defaultProps = {\n omitWrappers: false,\n itemsToDisplay: [],\n listAggregations: [],\n displayTotal: false\n};\n\nexport default ListRender;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListRender.js","names":["React","useQuery","PropTypes","ListPagination","ListHeader","sortResponseData","LOAD_MORE","useAppSyncEventHook","ListRender","props","variables","actionKey","action","name","itemsToDisplay","itemsPerPageToUse","limitToUse","initialOffset","isInfinite","omitWrappers","paginationType","listComponent","ListComponent","query","url","listAggregations","isAZ","azFilter","displayTotal","data","updatedVariables","eventName","error","loading","fetchMore","message","results","listData","listTotal","total","orderedListData","length","currentListLength","currentPage","Math","ceil","totalDisplay","createElement","Fragment","className","_extends","itemsPerPage","propTypes","string","isRequired","object","number","bool","func","array","defaultProps"],"sources":["../../../src/components/List/ListRender.js"],"sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport ListPagination from './components/Pagination';\nimport ListHeader from './components/Header';\nimport { sortResponseData } from '../../helpers';\nimport { LOAD_MORE } from '../../constants';\nimport { useAppSyncEventHook } from '../../hooks';\n\nconst ListRender = props => {\n const {\n variables,\n actionKey,\n action,\n name,\n itemsToDisplay,\n itemsPerPageToUse,\n limitToUse,\n initialOffset,\n isInfinite,\n omitWrappers,\n paginationType,\n listComponent: ListComponent,\n query,\n url,\n listAggregations,\n isAZ,\n azFilter,\n displayTotal\n } = props;\n const { data: updatedVariables } = useAppSyncEventHook({\n eventName: 'list:query-variables',\n data: variables,\n props\n });\n\n const { data = {}, error, loading, fetchMore } = useQuery(action, {\n variables: updatedVariables\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data[actionKey] || !data[actionKey].results) return null;\n\n const listData = data[actionKey].results;\n const listTotal = data[actionKey].total;\n const orderedListData = sortResponseData(listData, itemsToDisplay);\n if (!orderedListData || !orderedListData.length) return null;\n const { length: currentListLength } = orderedListData;\n const currentPage = Math.ceil((initialOffset + currentListLength) / itemsPerPageToUse);\n const totalDisplay = limitToUse && listTotal > limitToUse ? limitToUse : listTotal;\n\n return (\n <>\n <span className=\"list-top\" />\n {isAZ && <ListHeader name={name} listAggregations={listAggregations} azFilter={azFilter} />}\n {displayTotal && (\n <div className=\"list_total_results w-full text-left p-4\">Total results: {totalDisplay}</div>\n )}\n <ListComponent\n orderedListData={orderedListData}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n fetchMore={fetchMore}\n omitWrappers={omitWrappers}\n itemsPerPageToUse={itemsPerPageToUse || listData.length}\n listTotal={listTotal}\n currentListLength={currentListLength}\n currentPage={currentPage}\n query={query}\n url={url}\n itemsToDisplay={itemsToDisplay}\n {...props}\n />\n {paginationType !== LOAD_MORE && (\n <ListPagination\n limitToUse={limitToUse}\n itemsPerPage={itemsPerPageToUse}\n listTotal={listTotal}\n name={name}\n isInfinite={isInfinite}\n currentListLength={currentListLength}\n paginationType={paginationType}\n currentPage={currentPage}\n query={query}\n url={url}\n />\n )}\n </>\n );\n};\n\nListRender.propTypes = {\n name: PropTypes.string.isRequired,\n paginationType: PropTypes.string.isRequired,\n variables: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n itemsPerPageToUse: PropTypes.number.isRequired,\n limitToUse: PropTypes.number.isRequired,\n initialOffset: PropTypes.number.isRequired,\n isInfinite: PropTypes.bool.isRequired,\n omitWrappers: PropTypes.bool,\n query: PropTypes.object.isRequired,\n url: PropTypes.string.isRequired,\n listComponent: PropTypes.func.isRequired,\n isAZ: PropTypes.bool.isRequired,\n azFilter: PropTypes.string.isRequired,\n listAggregations: PropTypes.array,\n itemsToDisplay: PropTypes.array,\n displayTotal: PropTypes.bool\n};\n\nListRender.defaultProps = {\n omitWrappers: false,\n itemsToDisplay: [],\n listAggregations: [],\n displayTotal: false\n};\n\nexport default ListRender;\n"],"mappings":"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"}
@@ -6,4 +6,5 @@ export { default as usePageBuilder } from './use-page-builder';
6
6
  export { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';
7
7
  export { default as useCheckMobileScreen } from './use-check-mobile-screen';
8
8
  export { default as useBannerInsertion } from './use-banner-insertion';
9
+ export { default as useAppSyncEventHook } from './use-app-sync-event-hook';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","useGetEntitySchema","useGetEntitySchemasAsObj","useGetImageIdFromRelation","useGetImages","usePageBuilder","useGetSingleEntitySchema","useCheckMobileScreen","useBannerInsertion"],"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';\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"}
1
+ {"version":3,"file":"index.js","names":["default","useGetEntitySchema","useGetEntitySchemasAsObj","useGetImageIdFromRelation","useGetImages","usePageBuilder","useGetSingleEntitySchema","useCheckMobileScreen","useBannerInsertion","useAppSyncEventHook"],"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';\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"}
@@ -0,0 +1,25 @@
1
+ import { useContext } from 'react';
2
+ import { AppContext } from '@blaze-cms/nextjs-components';
3
+ const EVENET_PREFIX = 'plugin:page-builder:';
4
+ const EVENET_SUFIX = ':sync';
5
+ const useAppSyncEventHook = ({
6
+ eventName,
7
+ data,
8
+ props
9
+ }) => {
10
+ const {
11
+ blazeApp
12
+ } = useContext(AppContext);
13
+ if (!blazeApp) return {
14
+ data
15
+ };
16
+ blazeApp.events.emit(`${EVENET_PREFIX}${eventName}${EVENET_SUFIX}`, {
17
+ data,
18
+ props
19
+ });
20
+ return {
21
+ data
22
+ };
23
+ };
24
+ export default useAppSyncEventHook;
25
+ //# sourceMappingURL=use-app-sync-event-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-app-sync-event-hook.js","names":["useContext","AppContext","EVENET_PREFIX","EVENET_SUFIX","useAppSyncEventHook","eventName","data","props","blazeApp","events","emit"],"sources":["../../src/hooks/use-app-sync-event-hook.js"],"sourcesContent":["import { useContext } from 'react';\nimport { AppContext } from '@blaze-cms/nextjs-components';\n\nconst EVENET_PREFIX = 'plugin:page-builder:';\nconst EVENET_SUFIX = ':sync';\n\nconst useAppSyncEventHook = ({ eventName, data, props }) => {\n const { blazeApp } = useContext(AppContext);\n if (!blazeApp) return { data };\n\n blazeApp.events.emit(`${EVENET_PREFIX}${eventName}${EVENET_SUFIX}`, {\n data,\n props\n });\n\n return { data };\n};\n\nexport default useAppSyncEventHook;\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,UAAU,QAAQ,8BAA8B;AAEzD,MAAMC,aAAa,GAAG,sBAAsB;AAC5C,MAAMC,YAAY,GAAG,OAAO;AAE5B,MAAMC,mBAAmB,GAAGA,CAAC;EAAEC,SAAS;EAAEC,IAAI;EAAEC;AAAM,CAAC,KAAK;EAC1D,MAAM;IAAEC;EAAS,CAAC,GAAGR,UAAU,CAACC,UAAU,CAAC;EAC3C,IAAI,CAACO,QAAQ,EAAE,OAAO;IAAEF;EAAK,CAAC;EAE9BE,QAAQ,CAACC,MAAM,CAACC,IAAI,CAAE,GAAER,aAAc,GAAEG,SAAU,GAAEF,YAAa,EAAC,EAAE;IAClEG,IAAI;IACJC;EACF,CAAC,CAAC;EAEF,OAAO;IAAED;EAAK,CAAC;AACjB,CAAC;AAED,eAAeF,mBAAmB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.140.2-core-styles.0",
3
+ "version": "0.141.0-core-styles.0",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -27,15 +27,15 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@blaze-cms/core-auth-ui": "0.140.2-core-styles.0",
31
- "@blaze-cms/core-errors": "0.140.2-core-styles.0",
32
- "@blaze-cms/core-errors-ui": "0.140.2-core-styles.0",
30
+ "@blaze-cms/core-auth-ui": "0.140.2-core-styles.1",
31
+ "@blaze-cms/core-errors": "0.140.2-core-styles.1",
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
- "@blaze-cms/nextjs-components": "0.140.2-core-styles.0",
35
- "@blaze-cms/plugin-search-ui": "0.140.2-core-styles.0",
36
- "@blaze-cms/setup-ui": "0.140.2-core-styles.0",
37
- "@blaze-cms/utils": "0.140.2-core-styles.0",
38
- "@blaze-cms/utils-handlebars": "0.140.2-core-styles.0",
34
+ "@blaze-cms/nextjs-components": "0.141.0-core-styles.0",
35
+ "@blaze-cms/plugin-search-ui": "0.140.2-core-styles.1",
36
+ "@blaze-cms/setup-ui": "0.140.2-core-styles.1",
37
+ "@blaze-cms/utils": "0.140.2-core-styles.1",
38
+ "@blaze-cms/utils-handlebars": "0.141.0-core-styles.0",
39
39
  "@blaze-react/breadcrumb": "0.8.0-alpha.60",
40
40
  "@blaze-react/button": "0.5.19",
41
41
  "@blaze-react/checkboxes": "0.5.31",
@@ -88,5 +88,6 @@
88
88
  "eslintIgnore": [
89
89
  "lib/*",
90
90
  "lib-es/*"
91
- ]
91
+ ],
92
+ "gitHead": "00408b7653180416fafefa7dc762c5ea21070cb7"
92
93
  }
@@ -5,6 +5,7 @@ import ListPagination from './components/Pagination';
5
5
  import ListHeader from './components/Header';
6
6
  import { sortResponseData } from '../../helpers';
7
7
  import { LOAD_MORE } from '../../constants';
8
+ import { useAppSyncEventHook } from '../../hooks';
8
9
 
9
10
  const ListRender = props => {
10
11
  const {
@@ -27,9 +28,16 @@ const ListRender = props => {
27
28
  azFilter,
28
29
  displayTotal
29
30
  } = props;
31
+ const { data: updatedVariables } = useAppSyncEventHook({
32
+ eventName: 'list:query-variables',
33
+ data: variables,
34
+ props
35
+ });
36
+
30
37
  const { data = {}, error, loading, fetchMore } = useQuery(action, {
31
- variables
38
+ variables: updatedVariables
32
39
  });
40
+
33
41
  if (loading) return '';
34
42
  if (error) return error.message;
35
43
  if (!data[actionKey] || !data[actionKey].results) return null;
@@ -6,3 +6,4 @@ export { default as usePageBuilder } from './use-page-builder';
6
6
  export { default as useGetSingleEntitySchema } from './use-get-single-entity-schema';
7
7
  export { default as useCheckMobileScreen } from './use-check-mobile-screen';
8
8
  export { default as useBannerInsertion } from './use-banner-insertion';
9
+ export { default as useAppSyncEventHook } from './use-app-sync-event-hook';
@@ -0,0 +1,19 @@
1
+ import { useContext } from 'react';
2
+ import { AppContext } from '@blaze-cms/nextjs-components';
3
+
4
+ const EVENET_PREFIX = 'plugin:page-builder:';
5
+ const EVENET_SUFIX = ':sync';
6
+
7
+ const useAppSyncEventHook = ({ eventName, data, props }) => {
8
+ const { blazeApp } = useContext(AppContext);
9
+ if (!blazeApp) return { data };
10
+
11
+ blazeApp.events.emit(`${EVENET_PREFIX}${eventName}${EVENET_SUFIX}`, {
12
+ data,
13
+ props
14
+ });
15
+
16
+ return { data };
17
+ };
18
+
19
+ export default useAppSyncEventHook;
@@ -14,8 +14,17 @@ jest.mock('../../../../../src/components/List/components/Pagination/ListPaginati
14
14
  jest.fn().mockImplementation(() => <div>Pagination Mock</div>)
15
15
  );
16
16
 
17
+ jest.mock('../../../../../src/hooks/use-app-sync-event-hook', () =>
18
+ jest.fn().mockImplementation(({ data }) => ({ data }))
19
+ );
20
+
17
21
  const mockedOptions = {
18
22
  variables: { variable: 1 },
23
+ blazeApp: {
24
+ events: {
25
+ emit: () => {}
26
+ }
27
+ },
19
28
  actionKey: 'actionKey',
20
29
  action: {
21
30
  data: { actionKey: { results: [{ id: 1 }, { id: 2 }] } },
@@ -0,0 +1,50 @@
1
+ import React from 'react';
2
+ import { renderHook } from '@testing-library/react-hooks';
3
+ import { AppContext } from '@blaze-cms/nextjs-components';
4
+ import { useAppSyncEventHook } from '../../../../src/hooks';
5
+
6
+ describe('useAppSyncEventHook', () => {
7
+ test('should emit event with correct event name and data', () => {
8
+ const blazeAppMock = {
9
+ events: {
10
+ emit: jest.fn()
11
+ }
12
+ };
13
+
14
+ const eventName = 'testEvent';
15
+ const data = { key: 'value' };
16
+ const props = { someProp: 'value' };
17
+
18
+ const wrapper = ({ children }) => (
19
+ <AppContext.Provider value={{ blazeApp: blazeAppMock }}>{children}</AppContext.Provider>
20
+ );
21
+
22
+ const { result } = renderHook(() => useAppSyncEventHook({ eventName, data, props }), {
23
+ wrapper
24
+ });
25
+
26
+ expect(blazeAppMock.events.emit).toHaveBeenCalledWith(`plugin:page-builder:${eventName}:sync`, {
27
+ data,
28
+ props
29
+ });
30
+
31
+ expect(result.current.data).toEqual(data);
32
+ });
33
+
34
+ test('should return correct data', () => {
35
+ const blazeAppMock = {
36
+ events: {
37
+ emit: jest.fn()
38
+ }
39
+ };
40
+
41
+ const data = { key: 'value' };
42
+
43
+ const wrapper = ({ children }) => (
44
+ <AppContext.Provider value={{ blazeApp: blazeAppMock }}>{children}</AppContext.Provider>
45
+ );
46
+ const { result } = renderHook(() => useAppSyncEventHook({ data }), { wrapper });
47
+
48
+ expect(result.current.data).toEqual(data);
49
+ });
50
+ });