@blaze-cms/react-page-builder 0.146.0-node18-core-styles-tooltips.30 → 0.146.0-node18-core-styles-tooltips.32

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.
Files changed (25) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/lib/components/DataSummary/DataSummaryFactory.js +2 -1
  3. package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
  4. package/lib/components/DataSummary/helpers/get-record-id.js +23 -0
  5. package/lib/components/DataSummary/helpers/get-record-id.js.map +1 -0
  6. package/lib/components/DataSummary/helpers/index.js +7 -0
  7. package/lib/components/DataSummary/helpers/index.js.map +1 -1
  8. package/lib/components/MenuItem/helpers/inject-helper-into-template.js +17 -2
  9. package/lib/components/MenuItem/helpers/inject-helper-into-template.js.map +1 -1
  10. package/lib-es/components/DataSummary/DataSummaryFactory.js +3 -2
  11. package/lib-es/components/DataSummary/DataSummaryFactory.js.map +1 -1
  12. package/lib-es/components/DataSummary/helpers/get-record-id.js +14 -0
  13. package/lib-es/components/DataSummary/helpers/get-record-id.js.map +1 -0
  14. package/lib-es/components/DataSummary/helpers/index.js +2 -1
  15. package/lib-es/components/DataSummary/helpers/index.js.map +1 -1
  16. package/lib-es/components/MenuItem/helpers/inject-helper-into-template.js +14 -2
  17. package/lib-es/components/MenuItem/helpers/inject-helper-into-template.js.map +1 -1
  18. package/package.json +4 -4
  19. package/src/components/DataSummary/DataSummaryFactory.js +4 -2
  20. package/src/components/DataSummary/helpers/get-record-id.js +14 -0
  21. package/src/components/DataSummary/helpers/index.js +3 -1
  22. package/src/components/MenuItem/helpers/inject-helper-into-template.js +12 -2
  23. package/tests/unit/src/components/DataSummary/__snapshots__/DataSummaryFactory.test.js.snap +1 -5
  24. package/tests/unit/src/components/DataSummary/helpers/get-record-id.test.js +108 -0
  25. package/tests/unit/src/components/MenuItem/helpers/inject-helper-into-template.test.js +44 -0
package/CHANGELOG.md CHANGED
@@ -3,6 +3,26 @@
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.32](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.31...v0.146.0-node18-core-styles-tooltips.32) (2025-11-26)
7
+
8
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
9
+
10
+
11
+
12
+
13
+
14
+ # [0.146.0-node18-core-styles-tooltips.31](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.30...v0.146.0-node18-core-styles-tooltips.31) (2025-11-26)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * added handlebar prop validation ([#5014](https://github.com/thebyte9/blaze/issues/5014)) ([f949bc5](https://github.com/thebyte9/blaze/commit/f949bc5d949d9a33c7aef8485e1fe13f48e79d28))
20
+ * fixed lint on handlebar inject test ([#5018](https://github.com/thebyte9/blaze/issues/5018)) ([c57f06c](https://github.com/thebyte9/blaze/commit/c57f06c03b095dd4e5f0683d9fcf94a22d80c592))
21
+
22
+
23
+
24
+
25
+
6
26
  # [0.146.0-node18-core-styles-tooltips.30](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-core-styles-tooltips.29...v0.146.0-node18-core-styles-tooltips.30) (2025-11-25)
7
27
 
8
28
  **Note:** Version bump only for package @blaze-cms/react-page-builder
@@ -46,8 +46,10 @@ var DataSummaryFactory = function DataSummaryFactory(_ref) {
46
46
  data = _useQuery.data,
47
47
  error = _useQuery.error,
48
48
  loading = _useQuery.loading;
49
+ var recordId = (0, _helpers2.getRecordId)(entityForQuery, dataRecordId, parent);
49
50
  var _useContext = (0, _react.useContext)(_nextjsComponents.MainContext),
50
51
  isPreview = _useContext.isPreview;
52
+ if (!recordId) return null;
51
53
  if (loading) return '';
52
54
  if (error) return error.message;
53
55
  if (!data) return null;
@@ -56,7 +58,6 @@ var DataSummaryFactory = function DataSummaryFactory(_ref) {
56
58
  var linkProps = (0, _helpers2.getLinkProps)(propsToDisplay);
57
59
  var propsQueryString = (0, _helpers.buildPropsQuery)(data, propsToDisplayValues, null, linkProps);
58
60
  var dataSummaryQuery = (0, _helpers2.getDataSummaryQuery)(data, isPreview, propsQueryString);
59
- var recordId = dataRecordId[0] || parent.itemId;
60
61
  var isSlider = variant === 'slideSummary';
61
62
  return /*#__PURE__*/_react["default"].createElement(_DataSummaryRender["default"], {
62
63
  recordId: recordId,
@@ -1 +1 @@
1
- {"version":3,"file":"DataSummaryFactory.js","names":["_react","_interopRequireWildcard","require","_client","_propTypes","_interopRequireDefault","_nextjsComponents","_query","_helpers","_helpers2","_DataSummaryRender","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DataSummaryFactory","_ref","entity","dataRecordId","propsToDisplay","type","useSelectedEntity","elementTitle","modifier","headingStyle","loopProperties","loopLimit","variant","VariantComponent","parent","entityForQuery","itemEntity","_useQuery","useQuery","getSingleEntitySchema","variables","id","data","error","loading","_useContext","useContext","MainContext","isPreview","message","length","propsToDisplayValues","checkPropsToUse","linkProps","getLinkProps","propsQueryString","buildPropsQuery","dataSummaryQuery","getDataSummaryQuery","recordId","itemId","isSlider","createElement","query","htmlTag","propTypes","PropTypes","object","isRequired","string","array","bool","number","func","defaultProps","_default","exports"],"sources":["../../../src/components/DataSummary/DataSummaryFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getSingleEntitySchema } from '../../application/query';\nimport { buildPropsQuery, checkPropsToUse } from '../../helpers';\nimport { getDataSummaryQuery, getLinkProps } from './helpers';\nimport DataSummaryRender from './DataSummaryRender';\n\nconst DataSummaryFactory = ({\n entity,\n dataRecordId,\n propsToDisplay,\n type,\n useSelectedEntity,\n elementTitle,\n modifier,\n headingStyle,\n loopProperties,\n loopLimit,\n variant,\n VariantComponent,\n parent\n}) => {\n const entityForQuery = useSelectedEntity ? entity : parent.itemEntity;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entityForQuery }\n });\n\n const { isPreview } = useContext(MainContext);\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n if (!propsToDisplay || !propsToDisplay.length) return null;\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const linkProps = getLinkProps(propsToDisplay);\n const propsQueryString = buildPropsQuery(data, propsToDisplayValues, null, linkProps);\n const dataSummaryQuery = getDataSummaryQuery(data, isPreview, propsQueryString);\n const recordId = dataRecordId[0] || parent.itemId;\n const isSlider = variant === 'slideSummary';\n\n return (\n <DataSummaryRender\n recordId={recordId}\n propsToDisplay={propsToDisplay}\n loopProperties={loopProperties}\n loopLimit={loopLimit}\n query={dataSummaryQuery}\n type={type}\n elementTitle={elementTitle}\n modifier={modifier}\n htmlTag={headingStyle}\n variant={variant}\n VariantComponent={VariantComponent}\n isSlider={isSlider}\n />\n );\n};\n\nDataSummaryFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n type: PropTypes.string,\n dataRecordId: PropTypes.array,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n useSelectedEntity: PropTypes.bool,\n elementTitle: PropTypes.string,\n modifier: PropTypes.string,\n headingStyle: PropTypes.string,\n loopProperties: PropTypes.array,\n loopLimit: PropTypes.number,\n variant: PropTypes.string,\n VariantComponent: PropTypes.func\n};\n\nDataSummaryFactory.defaultProps = {\n type: 'text',\n dataRecordId: [],\n propsToDisplay: [],\n useSelectedEntity: true,\n entity: '',\n elementTitle: '',\n modifier: '',\n headingStyle: 'h2',\n loopProperties: [],\n loopLimit: 0,\n variant: null,\n VariantComponent: null\n};\n\nexport default DataSummaryFactory;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DataSummaryFactory.js","names":["_react","_interopRequireWildcard","require","_client","_propTypes","_interopRequireDefault","_nextjsComponents","_query","_helpers","_helpers2","_DataSummaryRender","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DataSummaryFactory","_ref","entity","dataRecordId","propsToDisplay","type","useSelectedEntity","elementTitle","modifier","headingStyle","loopProperties","loopLimit","variant","VariantComponent","parent","entityForQuery","itemEntity","_useQuery","useQuery","getSingleEntitySchema","variables","id","data","error","loading","recordId","getRecordId","_useContext","useContext","MainContext","isPreview","message","length","propsToDisplayValues","checkPropsToUse","linkProps","getLinkProps","propsQueryString","buildPropsQuery","dataSummaryQuery","getDataSummaryQuery","isSlider","createElement","query","htmlTag","propTypes","PropTypes","object","isRequired","string","array","bool","number","func","defaultProps","_default","exports"],"sources":["../../../src/components/DataSummary/DataSummaryFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getSingleEntitySchema } from '../../application/query';\nimport { buildPropsQuery, checkPropsToUse } from '../../helpers';\nimport { getDataSummaryQuery, getLinkProps, getRecordId } from './helpers';\nimport DataSummaryRender from './DataSummaryRender';\n\nconst DataSummaryFactory = ({\n entity,\n dataRecordId,\n propsToDisplay,\n type,\n useSelectedEntity,\n elementTitle,\n modifier,\n headingStyle,\n loopProperties,\n loopLimit,\n variant,\n VariantComponent,\n parent\n}) => {\n const entityForQuery = useSelectedEntity ? entity : parent.itemEntity;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entityForQuery }\n });\n\n const recordId = getRecordId(entityForQuery, dataRecordId, parent);\n const { isPreview } = useContext(MainContext);\n\n if (!recordId) return null;\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n if (!propsToDisplay || !propsToDisplay.length) return null;\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const linkProps = getLinkProps(propsToDisplay);\n const propsQueryString = buildPropsQuery(data, propsToDisplayValues, null, linkProps);\n const dataSummaryQuery = getDataSummaryQuery(data, isPreview, propsQueryString);\n const isSlider = variant === 'slideSummary';\n\n return (\n <DataSummaryRender\n recordId={recordId}\n propsToDisplay={propsToDisplay}\n loopProperties={loopProperties}\n loopLimit={loopLimit}\n query={dataSummaryQuery}\n type={type}\n elementTitle={elementTitle}\n modifier={modifier}\n htmlTag={headingStyle}\n variant={variant}\n VariantComponent={VariantComponent}\n isSlider={isSlider}\n />\n );\n};\n\nDataSummaryFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n type: PropTypes.string,\n dataRecordId: PropTypes.array,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n useSelectedEntity: PropTypes.bool,\n elementTitle: PropTypes.string,\n modifier: PropTypes.string,\n headingStyle: PropTypes.string,\n loopProperties: PropTypes.array,\n loopLimit: PropTypes.number,\n variant: PropTypes.string,\n VariantComponent: PropTypes.func\n};\n\nDataSummaryFactory.defaultProps = {\n type: 'text',\n dataRecordId: [],\n propsToDisplay: [],\n useSelectedEntity: true,\n entity: '',\n elementTitle: '',\n modifier: '',\n headingStyle: 'h2',\n loopProperties: [],\n loopLimit: 0,\n variant: null,\n VariantComponent: null\n};\n\nexport default DataSummaryFactory;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,23 @@
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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _coreAuthUi = require("@blaze-cms/core-auth-ui");
11
+ var getRecordId = function getRecordId(entityForQuery, dataRecordId, parent) {
12
+ var _dataRecordId = (0, _slicedToArray2["default"])(dataRecordId, 1),
13
+ recordId = _dataRecordId[0];
14
+ var foundUserId;
15
+ if (entityForQuery === 'user' && !recordId) {
16
+ var _checkIfLoggedIn = (0, _coreAuthUi.checkIfLoggedIn)(),
17
+ userId = _checkIfLoggedIn.id;
18
+ foundUserId = userId;
19
+ }
20
+ return foundUserId || recordId || parent && parent.itemId;
21
+ };
22
+ var _default = exports["default"] = getRecordId;
23
+ //# sourceMappingURL=get-record-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-record-id.js","names":["_coreAuthUi","require","getRecordId","entityForQuery","dataRecordId","parent","_dataRecordId","_slicedToArray2","recordId","foundUserId","_checkIfLoggedIn","checkIfLoggedIn","userId","id","itemId","_default","exports"],"sources":["../../../../src/components/DataSummary/helpers/get-record-id.js"],"sourcesContent":["import { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';\n\nconst getRecordId = (entityForQuery, dataRecordId, parent) => {\n const [recordId] = dataRecordId;\n let foundUserId;\n\n if (entityForQuery === 'user' && !recordId) {\n const { id: userId } = checkIfLoggedIn();\n foundUserId = userId;\n }\n return foundUserId || recordId || (parent && parent.itemId);\n};\n\nexport default getRecordId;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,cAAc,EAAEC,YAAY,EAAEC,MAAM,EAAK;EAC5D,IAAAC,aAAA,OAAAC,eAAA,aAAmBH,YAAY;IAAxBI,QAAQ,GAAAF,aAAA;EACf,IAAIG,WAAW;EAEf,IAAIN,cAAc,KAAK,MAAM,IAAI,CAACK,QAAQ,EAAE;IAC1C,IAAAE,gBAAA,GAAuB,IAAAC,2BAAe,EAAC,CAAC;MAA5BC,MAAM,GAAAF,gBAAA,CAAVG,EAAE;IACVJ,WAAW,GAAGG,MAAM;EACtB;EACA,OAAOH,WAAW,IAAID,QAAQ,IAAKH,MAAM,IAAIA,MAAM,CAACS,MAAO;AAC7D,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEad,WAAW","ignoreList":[]}
@@ -41,6 +41,12 @@ Object.defineProperty(exports, "getLinkToPublishedContent", {
41
41
  return _getLinkToPublishedContent["default"];
42
42
  }
43
43
  });
44
+ Object.defineProperty(exports, "getRecordId", {
45
+ enumerable: true,
46
+ get: function get() {
47
+ return _getRecordId["default"];
48
+ }
49
+ });
44
50
  Object.defineProperty(exports, "parseBooleanValues", {
45
51
  enumerable: true,
46
52
  get: function get() {
@@ -61,4 +67,5 @@ var _buildLoopPropsContent = _interopRequireDefault(require("./build-loop-props-
61
67
  var _parseBooleanValues = _interopRequireDefault(require("./parse-boolean-values"));
62
68
  var _getLinkBasedOnValue = _interopRequireDefault(require("./get-link-based-on-value"));
63
69
  var _getLinkProps = _interopRequireDefault(require("./get-link-props"));
70
+ var _getRecordId = _interopRequireDefault(require("./get-record-id"));
64
71
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_getDataSummaryQuery","_interopRequireDefault","require","_buildPropsToDisplayWithContent","_getLinkToPublishedContent","_stripSummaryPropsContent","_buildLoopPropsContent","_parseBooleanValues","_getLinkBasedOnValue","_getLinkProps"],"sources":["../../../../src/components/DataSummary/helpers/index.js"],"sourcesContent":["import getDataSummaryQuery from './get-data-summary-query';\nimport buildPropsToDisplayWithContent from './build-props-to-display-with-content';\nimport getLinkToPublishedContent from './get-link-to-published-content';\nimport stripSummaryPropsContent from './strip-summary-props-content';\nimport buildLoopPropsContent from './build-loop-props-content';\nimport parseBooleanValues from './parse-boolean-values';\nimport getLinkBasedOnValue from './get-link-based-on-value';\nimport getLinkProps from './get-link-props';\n\nexport {\n getDataSummaryQuery,\n buildPropsToDisplayWithContent,\n getLinkToPublishedContent,\n stripSummaryPropsContent,\n buildLoopPropsContent,\n parseBooleanValues,\n getLinkBasedOnValue,\n getLinkProps\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,+BAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,0BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,yBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,sBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,mBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,oBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,aAAA,GAAAR,sBAAA,CAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_getDataSummaryQuery","_interopRequireDefault","require","_buildPropsToDisplayWithContent","_getLinkToPublishedContent","_stripSummaryPropsContent","_buildLoopPropsContent","_parseBooleanValues","_getLinkBasedOnValue","_getLinkProps","_getRecordId"],"sources":["../../../../src/components/DataSummary/helpers/index.js"],"sourcesContent":["import getDataSummaryQuery from './get-data-summary-query';\nimport buildPropsToDisplayWithContent from './build-props-to-display-with-content';\nimport getLinkToPublishedContent from './get-link-to-published-content';\nimport stripSummaryPropsContent from './strip-summary-props-content';\nimport buildLoopPropsContent from './build-loop-props-content';\nimport parseBooleanValues from './parse-boolean-values';\nimport getLinkBasedOnValue from './get-link-based-on-value';\nimport getLinkProps from './get-link-props';\nimport getRecordId from './get-record-id';\n\nexport {\n getDataSummaryQuery,\n buildPropsToDisplayWithContent,\n getLinkToPublishedContent,\n stripSummaryPropsContent,\n buildLoopPropsContent,\n parseBooleanValues,\n getLinkBasedOnValue,\n getLinkProps,\n getRecordId\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,+BAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,0BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,yBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,sBAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,mBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,oBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,aAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,YAAA,GAAAT,sBAAA,CAAAC,OAAA","ignoreList":[]}
@@ -5,12 +5,27 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports["default"] = void 0;
8
+ require("core-js/modules/es.array.concat.js");
8
9
  require("core-js/modules/es.regexp.exec.js");
9
10
  require("core-js/modules/es.string.replace.js");
11
+ require("core-js/modules/es.string.starts-with.js");
12
+ require("core-js/modules/es.string.trim.js");
10
13
  var injectHelperIntoTemplate = function injectHelperIntoTemplate(template, helper) {
11
14
  if (!helper || !template) return template;
12
- var result = template.replace(/{{{([^{}]+)}}}/g, "{{{".concat(helper, " $1}}}"));
13
- result = result.replace(/{{([^{}]+)}}(?!})/g, "{{".concat(helper, " $1}}"));
15
+
16
+ // Inject helper into triple-stash expressions unless they are block/closing tags
17
+ var result = template.replace(/{{{([^{}]+)}}}/g, function (match, inner) {
18
+ var trimmed = inner.trim();
19
+ if (trimmed.startsWith('#') || trimmed.startsWith('/') || trimmed === 'else') return match; // skip block helpers and else
20
+ return "{{{".concat(helper, " ").concat(inner, "}}}");
21
+ });
22
+
23
+ // Inject helper into double-stash expressions (excluding triple) unless block/closing tags
24
+ result = result.replace(/{{([^{}]+)}}(?!})/g, function (match, inner) {
25
+ var trimmed = inner.trim();
26
+ if (trimmed.startsWith('#') || trimmed.startsWith('/') || trimmed === 'else') return match; // skip block helpers and else
27
+ return "{{".concat(helper, " ").concat(inner, "}}");
28
+ });
14
29
  return result;
15
30
  };
16
31
  var _default = exports["default"] = injectHelperIntoTemplate;
@@ -1 +1 @@
1
- {"version":3,"file":"inject-helper-into-template.js","names":["injectHelperIntoTemplate","template","helper","result","replace","concat","_default","exports"],"sources":["../../../../src/components/MenuItem/helpers/inject-helper-into-template.js"],"sourcesContent":["const injectHelperIntoTemplate = (template, helper) => {\n if (!helper || !template) return template;\n\n let result = template.replace(/{{{([^{}]+)}}}/g, `{{{${helper} $1}}}`);\n\n result = result.replace(/{{([^{}]+)}}(?!})/g, `{{${helper} $1}}`);\n\n return result;\n};\n\nexport default injectHelperIntoTemplate;\n"],"mappings":";;;;;;;;;AAAA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIC,QAAQ,EAAEC,MAAM,EAAK;EACrD,IAAI,CAACA,MAAM,IAAI,CAACD,QAAQ,EAAE,OAAOA,QAAQ;EAEzC,IAAIE,MAAM,GAAGF,QAAQ,CAACG,OAAO,CAAC,iBAAiB,QAAAC,MAAA,CAAQH,MAAM,WAAQ,CAAC;EAEtEC,MAAM,GAAGA,MAAM,CAACC,OAAO,CAAC,oBAAoB,OAAAC,MAAA,CAAOH,MAAM,UAAO,CAAC;EAEjE,OAAOC,MAAM;AACf,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,cAEaP,wBAAwB","ignoreList":[]}
1
+ {"version":3,"file":"inject-helper-into-template.js","names":["injectHelperIntoTemplate","template","helper","result","replace","match","inner","trimmed","trim","startsWith","concat","_default","exports"],"sources":["../../../../src/components/MenuItem/helpers/inject-helper-into-template.js"],"sourcesContent":["const injectHelperIntoTemplate = (template, helper) => {\n if (!helper || !template) return template;\n\n // Inject helper into triple-stash expressions unless they are block/closing tags\n let result = template.replace(/{{{([^{}]+)}}}/g, (match, inner) => {\n const trimmed = inner.trim();\n if (trimmed.startsWith('#') || trimmed.startsWith('/') || trimmed === 'else') return match; // skip block helpers and else\n return `{{{${helper} ${inner}}}}`;\n });\n\n // Inject helper into double-stash expressions (excluding triple) unless block/closing tags\n result = result.replace(/{{([^{}]+)}}(?!})/g, (match, inner) => {\n const trimmed = inner.trim();\n if (trimmed.startsWith('#') || trimmed.startsWith('/') || trimmed === 'else') return match; // skip block helpers and else\n return `{{${helper} ${inner}}}`;\n });\n\n return result;\n};\n\nexport default injectHelperIntoTemplate;\n"],"mappings":";;;;;;;;;;;;AAAA,IAAMA,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIC,QAAQ,EAAEC,MAAM,EAAK;EACrD,IAAI,CAACA,MAAM,IAAI,CAACD,QAAQ,EAAE,OAAOA,QAAQ;;EAEzC;EACA,IAAIE,MAAM,GAAGF,QAAQ,CAACG,OAAO,CAAC,iBAAiB,EAAE,UAACC,KAAK,EAAEC,KAAK,EAAK;IACjE,IAAMC,OAAO,GAAGD,KAAK,CAACE,IAAI,CAAC,CAAC;IAC5B,IAAID,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC,IAAIF,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC,IAAIF,OAAO,KAAK,MAAM,EAAE,OAAOF,KAAK,CAAC,CAAC;IAC5F,aAAAK,MAAA,CAAaR,MAAM,OAAAQ,MAAA,CAAIJ,KAAK;EAC9B,CAAC,CAAC;;EAEF;EACAH,MAAM,GAAGA,MAAM,CAACC,OAAO,CAAC,oBAAoB,EAAE,UAACC,KAAK,EAAEC,KAAK,EAAK;IAC9D,IAAMC,OAAO,GAAGD,KAAK,CAACE,IAAI,CAAC,CAAC;IAC5B,IAAID,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC,IAAIF,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC,IAAIF,OAAO,KAAK,MAAM,EAAE,OAAOF,KAAK,CAAC,CAAC;IAC5F,YAAAK,MAAA,CAAYR,MAAM,OAAAQ,MAAA,CAAIJ,KAAK;EAC7B,CAAC,CAAC;EAEF,OAAOH,MAAM;AACf,CAAC;AAAC,IAAAQ,QAAA,GAAAC,OAAA,cAEaZ,wBAAwB","ignoreList":[]}
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
4
4
  import { MainContext } from '@blaze-cms/nextjs-components';
5
5
  import { getSingleEntitySchema } from '../../application/query';
6
6
  import { buildPropsQuery, checkPropsToUse } from '../../helpers';
7
- import { getDataSummaryQuery, getLinkProps } from './helpers';
7
+ import { getDataSummaryQuery, getLinkProps, getRecordId } from './helpers';
8
8
  import DataSummaryRender from './DataSummaryRender';
9
9
  const DataSummaryFactory = ({
10
10
  entity,
@@ -31,9 +31,11 @@ const DataSummaryFactory = ({
31
31
  id: entityForQuery
32
32
  }
33
33
  });
34
+ const recordId = getRecordId(entityForQuery, dataRecordId, parent);
34
35
  const {
35
36
  isPreview
36
37
  } = useContext(MainContext);
38
+ if (!recordId) return null;
37
39
  if (loading) return '';
38
40
  if (error) return error.message;
39
41
  if (!data) return null;
@@ -42,7 +44,6 @@ const DataSummaryFactory = ({
42
44
  const linkProps = getLinkProps(propsToDisplay);
43
45
  const propsQueryString = buildPropsQuery(data, propsToDisplayValues, null, linkProps);
44
46
  const dataSummaryQuery = getDataSummaryQuery(data, isPreview, propsQueryString);
45
- const recordId = dataRecordId[0] || parent.itemId;
46
47
  const isSlider = variant === 'slideSummary';
47
48
  return /*#__PURE__*/React.createElement(DataSummaryRender, {
48
49
  recordId: recordId,
@@ -1 +1 @@
1
- {"version":3,"file":"DataSummaryFactory.js","names":["React","useContext","useQuery","PropTypes","MainContext","getSingleEntitySchema","buildPropsQuery","checkPropsToUse","getDataSummaryQuery","getLinkProps","DataSummaryRender","DataSummaryFactory","entity","dataRecordId","propsToDisplay","type","useSelectedEntity","elementTitle","modifier","headingStyle","loopProperties","loopLimit","variant","VariantComponent","parent","entityForQuery","itemEntity","data","error","loading","variables","id","isPreview","message","length","propsToDisplayValues","linkProps","propsQueryString","dataSummaryQuery","recordId","itemId","isSlider","createElement","query","htmlTag","propTypes","object","isRequired","string","array","bool","number","func","defaultProps"],"sources":["../../../src/components/DataSummary/DataSummaryFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getSingleEntitySchema } from '../../application/query';\nimport { buildPropsQuery, checkPropsToUse } from '../../helpers';\nimport { getDataSummaryQuery, getLinkProps } from './helpers';\nimport DataSummaryRender from './DataSummaryRender';\n\nconst DataSummaryFactory = ({\n entity,\n dataRecordId,\n propsToDisplay,\n type,\n useSelectedEntity,\n elementTitle,\n modifier,\n headingStyle,\n loopProperties,\n loopLimit,\n variant,\n VariantComponent,\n parent\n}) => {\n const entityForQuery = useSelectedEntity ? entity : parent.itemEntity;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entityForQuery }\n });\n\n const { isPreview } = useContext(MainContext);\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n if (!propsToDisplay || !propsToDisplay.length) return null;\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const linkProps = getLinkProps(propsToDisplay);\n const propsQueryString = buildPropsQuery(data, propsToDisplayValues, null, linkProps);\n const dataSummaryQuery = getDataSummaryQuery(data, isPreview, propsQueryString);\n const recordId = dataRecordId[0] || parent.itemId;\n const isSlider = variant === 'slideSummary';\n\n return (\n <DataSummaryRender\n recordId={recordId}\n propsToDisplay={propsToDisplay}\n loopProperties={loopProperties}\n loopLimit={loopLimit}\n query={dataSummaryQuery}\n type={type}\n elementTitle={elementTitle}\n modifier={modifier}\n htmlTag={headingStyle}\n variant={variant}\n VariantComponent={VariantComponent}\n isSlider={isSlider}\n />\n );\n};\n\nDataSummaryFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n type: PropTypes.string,\n dataRecordId: PropTypes.array,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n useSelectedEntity: PropTypes.bool,\n elementTitle: PropTypes.string,\n modifier: PropTypes.string,\n headingStyle: PropTypes.string,\n loopProperties: PropTypes.array,\n loopLimit: PropTypes.number,\n variant: PropTypes.string,\n VariantComponent: PropTypes.func\n};\n\nDataSummaryFactory.defaultProps = {\n type: 'text',\n dataRecordId: [],\n propsToDisplay: [],\n useSelectedEntity: true,\n entity: '',\n elementTitle: '',\n modifier: '',\n headingStyle: 'h2',\n loopProperties: [],\n loopLimit: 0,\n variant: null,\n VariantComponent: null\n};\n\nexport default DataSummaryFactory;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DataSummaryFactory.js","names":["React","useContext","useQuery","PropTypes","MainContext","getSingleEntitySchema","buildPropsQuery","checkPropsToUse","getDataSummaryQuery","getLinkProps","getRecordId","DataSummaryRender","DataSummaryFactory","entity","dataRecordId","propsToDisplay","type","useSelectedEntity","elementTitle","modifier","headingStyle","loopProperties","loopLimit","variant","VariantComponent","parent","entityForQuery","itemEntity","data","error","loading","variables","id","recordId","isPreview","message","length","propsToDisplayValues","linkProps","propsQueryString","dataSummaryQuery","isSlider","createElement","query","htmlTag","propTypes","object","isRequired","string","array","bool","number","func","defaultProps"],"sources":["../../../src/components/DataSummary/DataSummaryFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getSingleEntitySchema } from '../../application/query';\nimport { buildPropsQuery, checkPropsToUse } from '../../helpers';\nimport { getDataSummaryQuery, getLinkProps, getRecordId } from './helpers';\nimport DataSummaryRender from './DataSummaryRender';\n\nconst DataSummaryFactory = ({\n entity,\n dataRecordId,\n propsToDisplay,\n type,\n useSelectedEntity,\n elementTitle,\n modifier,\n headingStyle,\n loopProperties,\n loopLimit,\n variant,\n VariantComponent,\n parent\n}) => {\n const entityForQuery = useSelectedEntity ? entity : parent.itemEntity;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entityForQuery }\n });\n\n const recordId = getRecordId(entityForQuery, dataRecordId, parent);\n const { isPreview } = useContext(MainContext);\n\n if (!recordId) return null;\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n if (!propsToDisplay || !propsToDisplay.length) return null;\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const linkProps = getLinkProps(propsToDisplay);\n const propsQueryString = buildPropsQuery(data, propsToDisplayValues, null, linkProps);\n const dataSummaryQuery = getDataSummaryQuery(data, isPreview, propsQueryString);\n const isSlider = variant === 'slideSummary';\n\n return (\n <DataSummaryRender\n recordId={recordId}\n propsToDisplay={propsToDisplay}\n loopProperties={loopProperties}\n loopLimit={loopLimit}\n query={dataSummaryQuery}\n type={type}\n elementTitle={elementTitle}\n modifier={modifier}\n htmlTag={headingStyle}\n variant={variant}\n VariantComponent={VariantComponent}\n isSlider={isSlider}\n />\n );\n};\n\nDataSummaryFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n type: PropTypes.string,\n dataRecordId: PropTypes.array,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n useSelectedEntity: PropTypes.bool,\n elementTitle: PropTypes.string,\n modifier: PropTypes.string,\n headingStyle: PropTypes.string,\n loopProperties: PropTypes.array,\n loopLimit: PropTypes.number,\n variant: PropTypes.string,\n VariantComponent: PropTypes.func\n};\n\nDataSummaryFactory.defaultProps = {\n type: 'text',\n dataRecordId: [],\n propsToDisplay: [],\n useSelectedEntity: true,\n entity: '',\n elementTitle: '',\n modifier: '',\n headingStyle: 'h2',\n loopProperties: [],\n loopLimit: 0,\n variant: null,\n VariantComponent: null\n};\n\nexport default DataSummaryFactory;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ import { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';
2
+ const getRecordId = (entityForQuery, dataRecordId, parent) => {
3
+ const [recordId] = dataRecordId;
4
+ let foundUserId;
5
+ if (entityForQuery === 'user' && !recordId) {
6
+ const {
7
+ id: userId
8
+ } = checkIfLoggedIn();
9
+ foundUserId = userId;
10
+ }
11
+ return foundUserId || recordId || parent && parent.itemId;
12
+ };
13
+ export default getRecordId;
14
+ //# sourceMappingURL=get-record-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-record-id.js","names":["checkIfLoggedIn","getRecordId","entityForQuery","dataRecordId","parent","recordId","foundUserId","id","userId","itemId"],"sources":["../../../../src/components/DataSummary/helpers/get-record-id.js"],"sourcesContent":["import { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';\n\nconst getRecordId = (entityForQuery, dataRecordId, parent) => {\n const [recordId] = dataRecordId;\n let foundUserId;\n\n if (entityForQuery === 'user' && !recordId) {\n const { id: userId } = checkIfLoggedIn();\n foundUserId = userId;\n }\n return foundUserId || recordId || (parent && parent.itemId);\n};\n\nexport default getRecordId;\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,yBAAyB;AAEzD,MAAMC,WAAW,GAAGA,CAACC,cAAc,EAAEC,YAAY,EAAEC,MAAM,KAAK;EAC5D,MAAM,CAACC,QAAQ,CAAC,GAAGF,YAAY;EAC/B,IAAIG,WAAW;EAEf,IAAIJ,cAAc,KAAK,MAAM,IAAI,CAACG,QAAQ,EAAE;IAC1C,MAAM;MAAEE,EAAE,EAAEC;IAAO,CAAC,GAAGR,eAAe,CAAC,CAAC;IACxCM,WAAW,GAAGE,MAAM;EACtB;EACA,OAAOF,WAAW,IAAID,QAAQ,IAAKD,MAAM,IAAIA,MAAM,CAACK,MAAO;AAC7D,CAAC;AAED,eAAeR,WAAW","ignoreList":[]}
@@ -6,5 +6,6 @@ import buildLoopPropsContent from './build-loop-props-content';
6
6
  import parseBooleanValues from './parse-boolean-values';
7
7
  import getLinkBasedOnValue from './get-link-based-on-value';
8
8
  import getLinkProps from './get-link-props';
9
- export { getDataSummaryQuery, buildPropsToDisplayWithContent, getLinkToPublishedContent, stripSummaryPropsContent, buildLoopPropsContent, parseBooleanValues, getLinkBasedOnValue, getLinkProps };
9
+ import getRecordId from './get-record-id';
10
+ export { getDataSummaryQuery, buildPropsToDisplayWithContent, getLinkToPublishedContent, stripSummaryPropsContent, buildLoopPropsContent, parseBooleanValues, getLinkBasedOnValue, getLinkProps, getRecordId };
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getDataSummaryQuery","buildPropsToDisplayWithContent","getLinkToPublishedContent","stripSummaryPropsContent","buildLoopPropsContent","parseBooleanValues","getLinkBasedOnValue","getLinkProps"],"sources":["../../../../src/components/DataSummary/helpers/index.js"],"sourcesContent":["import getDataSummaryQuery from './get-data-summary-query';\nimport buildPropsToDisplayWithContent from './build-props-to-display-with-content';\nimport getLinkToPublishedContent from './get-link-to-published-content';\nimport stripSummaryPropsContent from './strip-summary-props-content';\nimport buildLoopPropsContent from './build-loop-props-content';\nimport parseBooleanValues from './parse-boolean-values';\nimport getLinkBasedOnValue from './get-link-based-on-value';\nimport getLinkProps from './get-link-props';\n\nexport {\n getDataSummaryQuery,\n buildPropsToDisplayWithContent,\n getLinkToPublishedContent,\n stripSummaryPropsContent,\n buildLoopPropsContent,\n parseBooleanValues,\n getLinkBasedOnValue,\n getLinkProps\n};\n"],"mappings":"AAAA,OAAOA,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,8BAA8B,MAAM,uCAAuC;AAClF,OAAOC,yBAAyB,MAAM,iCAAiC;AACvE,OAAOC,wBAAwB,MAAM,+BAA+B;AACpE,OAAOC,qBAAqB,MAAM,4BAA4B;AAC9D,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,mBAAmB,MAAM,2BAA2B;AAC3D,OAAOC,YAAY,MAAM,kBAAkB;AAE3C,SACEP,mBAAmB,EACnBC,8BAA8B,EAC9BC,yBAAyB,EACzBC,wBAAwB,EACxBC,qBAAqB,EACrBC,kBAAkB,EAClBC,mBAAmB,EACnBC,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getDataSummaryQuery","buildPropsToDisplayWithContent","getLinkToPublishedContent","stripSummaryPropsContent","buildLoopPropsContent","parseBooleanValues","getLinkBasedOnValue","getLinkProps","getRecordId"],"sources":["../../../../src/components/DataSummary/helpers/index.js"],"sourcesContent":["import getDataSummaryQuery from './get-data-summary-query';\nimport buildPropsToDisplayWithContent from './build-props-to-display-with-content';\nimport getLinkToPublishedContent from './get-link-to-published-content';\nimport stripSummaryPropsContent from './strip-summary-props-content';\nimport buildLoopPropsContent from './build-loop-props-content';\nimport parseBooleanValues from './parse-boolean-values';\nimport getLinkBasedOnValue from './get-link-based-on-value';\nimport getLinkProps from './get-link-props';\nimport getRecordId from './get-record-id';\n\nexport {\n getDataSummaryQuery,\n buildPropsToDisplayWithContent,\n getLinkToPublishedContent,\n stripSummaryPropsContent,\n buildLoopPropsContent,\n parseBooleanValues,\n getLinkBasedOnValue,\n getLinkProps,\n getRecordId\n};\n"],"mappings":"AAAA,OAAOA,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,8BAA8B,MAAM,uCAAuC;AAClF,OAAOC,yBAAyB,MAAM,iCAAiC;AACvE,OAAOC,wBAAwB,MAAM,+BAA+B;AACpE,OAAOC,qBAAqB,MAAM,4BAA4B;AAC9D,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,OAAOC,mBAAmB,MAAM,2BAA2B;AAC3D,OAAOC,YAAY,MAAM,kBAAkB;AAC3C,OAAOC,WAAW,MAAM,iBAAiB;AAEzC,SACER,mBAAmB,EACnBC,8BAA8B,EAC9BC,yBAAyB,EACzBC,wBAAwB,EACxBC,qBAAqB,EACrBC,kBAAkB,EAClBC,mBAAmB,EACnBC,YAAY,EACZC,WAAW","ignoreList":[]}
@@ -1,7 +1,19 @@
1
1
  const injectHelperIntoTemplate = (template, helper) => {
2
2
  if (!helper || !template) return template;
3
- let result = template.replace(/{{{([^{}]+)}}}/g, `{{{${helper} $1}}}`);
4
- result = result.replace(/{{([^{}]+)}}(?!})/g, `{{${helper} $1}}`);
3
+
4
+ // Inject helper into triple-stash expressions unless they are block/closing tags
5
+ let result = template.replace(/{{{([^{}]+)}}}/g, (match, inner) => {
6
+ const trimmed = inner.trim();
7
+ if (trimmed.startsWith('#') || trimmed.startsWith('/') || trimmed === 'else') return match; // skip block helpers and else
8
+ return `{{{${helper} ${inner}}}}`;
9
+ });
10
+
11
+ // Inject helper into double-stash expressions (excluding triple) unless block/closing tags
12
+ result = result.replace(/{{([^{}]+)}}(?!})/g, (match, inner) => {
13
+ const trimmed = inner.trim();
14
+ if (trimmed.startsWith('#') || trimmed.startsWith('/') || trimmed === 'else') return match; // skip block helpers and else
15
+ return `{{${helper} ${inner}}}`;
16
+ });
5
17
  return result;
6
18
  };
7
19
  export default injectHelperIntoTemplate;
@@ -1 +1 @@
1
- {"version":3,"file":"inject-helper-into-template.js","names":["injectHelperIntoTemplate","template","helper","result","replace"],"sources":["../../../../src/components/MenuItem/helpers/inject-helper-into-template.js"],"sourcesContent":["const injectHelperIntoTemplate = (template, helper) => {\n if (!helper || !template) return template;\n\n let result = template.replace(/{{{([^{}]+)}}}/g, `{{{${helper} $1}}}`);\n\n result = result.replace(/{{([^{}]+)}}(?!})/g, `{{${helper} $1}}`);\n\n return result;\n};\n\nexport default injectHelperIntoTemplate;\n"],"mappings":"AAAA,MAAMA,wBAAwB,GAAGA,CAACC,QAAQ,EAAEC,MAAM,KAAK;EACrD,IAAI,CAACA,MAAM,IAAI,CAACD,QAAQ,EAAE,OAAOA,QAAQ;EAEzC,IAAIE,MAAM,GAAGF,QAAQ,CAACG,OAAO,CAAC,iBAAiB,EAAE,MAAMF,MAAM,QAAQ,CAAC;EAEtEC,MAAM,GAAGA,MAAM,CAACC,OAAO,CAAC,oBAAoB,EAAE,KAAKF,MAAM,OAAO,CAAC;EAEjE,OAAOC,MAAM;AACf,CAAC;AAED,eAAeH,wBAAwB","ignoreList":[]}
1
+ {"version":3,"file":"inject-helper-into-template.js","names":["injectHelperIntoTemplate","template","helper","result","replace","match","inner","trimmed","trim","startsWith"],"sources":["../../../../src/components/MenuItem/helpers/inject-helper-into-template.js"],"sourcesContent":["const injectHelperIntoTemplate = (template, helper) => {\n if (!helper || !template) return template;\n\n // Inject helper into triple-stash expressions unless they are block/closing tags\n let result = template.replace(/{{{([^{}]+)}}}/g, (match, inner) => {\n const trimmed = inner.trim();\n if (trimmed.startsWith('#') || trimmed.startsWith('/') || trimmed === 'else') return match; // skip block helpers and else\n return `{{{${helper} ${inner}}}}`;\n });\n\n // Inject helper into double-stash expressions (excluding triple) unless block/closing tags\n result = result.replace(/{{([^{}]+)}}(?!})/g, (match, inner) => {\n const trimmed = inner.trim();\n if (trimmed.startsWith('#') || trimmed.startsWith('/') || trimmed === 'else') return match; // skip block helpers and else\n return `{{${helper} ${inner}}}`;\n });\n\n return result;\n};\n\nexport default injectHelperIntoTemplate;\n"],"mappings":"AAAA,MAAMA,wBAAwB,GAAGA,CAACC,QAAQ,EAAEC,MAAM,KAAK;EACrD,IAAI,CAACA,MAAM,IAAI,CAACD,QAAQ,EAAE,OAAOA,QAAQ;;EAEzC;EACA,IAAIE,MAAM,GAAGF,QAAQ,CAACG,OAAO,CAAC,iBAAiB,EAAE,CAACC,KAAK,EAAEC,KAAK,KAAK;IACjE,MAAMC,OAAO,GAAGD,KAAK,CAACE,IAAI,CAAC,CAAC;IAC5B,IAAID,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC,IAAIF,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC,IAAIF,OAAO,KAAK,MAAM,EAAE,OAAOF,KAAK,CAAC,CAAC;IAC5F,OAAO,MAAMH,MAAM,IAAII,KAAK,KAAK;EACnC,CAAC,CAAC;;EAEF;EACAH,MAAM,GAAGA,MAAM,CAACC,OAAO,CAAC,oBAAoB,EAAE,CAACC,KAAK,EAAEC,KAAK,KAAK;IAC9D,MAAMC,OAAO,GAAGD,KAAK,CAACE,IAAI,CAAC,CAAC;IAC5B,IAAID,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC,IAAIF,OAAO,CAACE,UAAU,CAAC,GAAG,CAAC,IAAIF,OAAO,KAAK,MAAM,EAAE,OAAOF,KAAK,CAAC,CAAC;IAC5F,OAAO,KAAKH,MAAM,IAAII,KAAK,IAAI;EACjC,CAAC,CAAC;EAEF,OAAOH,MAAM;AACf,CAAC;AAED,eAAeH,wBAAwB","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.30",
3
+ "version": "0.146.0-node18-core-styles-tooltips.32",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -31,11 +31,11 @@
31
31
  "@blaze-cms/core-errors": "0.146.0-node18-core-styles-tooltips.3",
32
32
  "@blaze-cms/core-errors-ui": "0.146.0-node18-core-styles-tooltips.3",
33
33
  "@blaze-cms/image-cdn-react": "0.3.0-alpha.7",
34
- "@blaze-cms/nextjs-components": "0.146.0-node18-core-styles-tooltips.29",
34
+ "@blaze-cms/nextjs-components": "0.146.0-node18-core-styles-tooltips.32",
35
35
  "@blaze-cms/plugin-search-ui": "0.146.0-node18-core-styles-tooltips.30",
36
36
  "@blaze-cms/setup-ui": "0.146.0-node18-core-styles-tooltips.3",
37
37
  "@blaze-cms/utils": "0.146.0-node18-core-styles-tooltips.30",
38
- "@blaze-cms/utils-handlebars": "0.146.0-node18-core-styles-tooltips.29",
38
+ "@blaze-cms/utils-handlebars": "0.146.0-node18-core-styles-tooltips.32",
39
39
  "@blaze-react/badge": "^0.7.0",
40
40
  "@blaze-react/breadcrumb": "0.8.0-alpha.60",
41
41
  "@blaze-react/button": "0.8.0-alpha.82",
@@ -92,5 +92,5 @@
92
92
  "lib/*",
93
93
  "lib-es/*"
94
94
  ],
95
- "gitHead": "79ba9c78d82168c3d02deefc744b1725a822d817"
95
+ "gitHead": "4c38f5c38d8992e5bbe74a19c75fe1df58ea0a34"
96
96
  }
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
4
4
  import { MainContext } from '@blaze-cms/nextjs-components';
5
5
  import { getSingleEntitySchema } from '../../application/query';
6
6
  import { buildPropsQuery, checkPropsToUse } from '../../helpers';
7
- import { getDataSummaryQuery, getLinkProps } from './helpers';
7
+ import { getDataSummaryQuery, getLinkProps, getRecordId } from './helpers';
8
8
  import DataSummaryRender from './DataSummaryRender';
9
9
 
10
10
  const DataSummaryFactory = ({
@@ -27,7 +27,10 @@ const DataSummaryFactory = ({
27
27
  variables: { id: entityForQuery }
28
28
  });
29
29
 
30
+ const recordId = getRecordId(entityForQuery, dataRecordId, parent);
30
31
  const { isPreview } = useContext(MainContext);
32
+
33
+ if (!recordId) return null;
31
34
  if (loading) return '';
32
35
  if (error) return error.message;
33
36
  if (!data) return null;
@@ -36,7 +39,6 @@ const DataSummaryFactory = ({
36
39
  const linkProps = getLinkProps(propsToDisplay);
37
40
  const propsQueryString = buildPropsQuery(data, propsToDisplayValues, null, linkProps);
38
41
  const dataSummaryQuery = getDataSummaryQuery(data, isPreview, propsQueryString);
39
- const recordId = dataRecordId[0] || parent.itemId;
40
42
  const isSlider = variant === 'slideSummary';
41
43
 
42
44
  return (
@@ -0,0 +1,14 @@
1
+ import { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';
2
+
3
+ const getRecordId = (entityForQuery, dataRecordId, parent) => {
4
+ const [recordId] = dataRecordId;
5
+ let foundUserId;
6
+
7
+ if (entityForQuery === 'user' && !recordId) {
8
+ const { id: userId } = checkIfLoggedIn();
9
+ foundUserId = userId;
10
+ }
11
+ return foundUserId || recordId || (parent && parent.itemId);
12
+ };
13
+
14
+ export default getRecordId;
@@ -6,6 +6,7 @@ import buildLoopPropsContent from './build-loop-props-content';
6
6
  import parseBooleanValues from './parse-boolean-values';
7
7
  import getLinkBasedOnValue from './get-link-based-on-value';
8
8
  import getLinkProps from './get-link-props';
9
+ import getRecordId from './get-record-id';
9
10
 
10
11
  export {
11
12
  getDataSummaryQuery,
@@ -15,5 +16,6 @@ export {
15
16
  buildLoopPropsContent,
16
17
  parseBooleanValues,
17
18
  getLinkBasedOnValue,
18
- getLinkProps
19
+ getLinkProps,
20
+ getRecordId
19
21
  };
@@ -1,9 +1,19 @@
1
1
  const injectHelperIntoTemplate = (template, helper) => {
2
2
  if (!helper || !template) return template;
3
3
 
4
- let result = template.replace(/{{{([^{}]+)}}}/g, `{{{${helper} $1}}}`);
4
+ // Inject helper into triple-stash expressions unless they are block/closing tags
5
+ let result = template.replace(/{{{([^{}]+)}}}/g, (match, inner) => {
6
+ const trimmed = inner.trim();
7
+ if (trimmed.startsWith('#') || trimmed.startsWith('/') || trimmed === 'else') return match; // skip block helpers and else
8
+ return `{{{${helper} ${inner}}}}`;
9
+ });
5
10
 
6
- result = result.replace(/{{([^{}]+)}}(?!})/g, `{{${helper} $1}}`);
11
+ // Inject helper into double-stash expressions (excluding triple) unless block/closing tags
12
+ result = result.replace(/{{([^{}]+)}}(?!})/g, (match, inner) => {
13
+ const trimmed = inner.trim();
14
+ if (trimmed.startsWith('#') || trimmed.startsWith('/') || trimmed === 'else') return match; // skip block helpers and else
15
+ return `{{${helper} ${inner}}}`;
16
+ });
7
17
 
8
18
  return result;
9
19
  };
@@ -4,8 +4,4 @@ exports[`DataSummaryFactory component should not render if no data is returned 1
4
4
 
5
5
  exports[`DataSummaryFactory component should render without throwing an error for heading_large 1`] = `<DocumentFragment />`;
6
6
 
7
- exports[`DataSummaryFactory component should return error message if exists 1`] = `
8
- <DocumentFragment>
9
- No Entity
10
- </DocumentFragment>
11
- `;
7
+ exports[`DataSummaryFactory component should return error message if exists 1`] = `<DocumentFragment />`;
@@ -0,0 +1,108 @@
1
+ import getRecordId from '../../../../../../src/components/DataSummary/helpers/get-record-id';
2
+
3
+ // Mock the auth module
4
+ jest.mock('@blaze-cms/core-auth-ui', () => ({
5
+ checkIfLoggedIn: jest.fn()
6
+ }));
7
+
8
+ const { checkIfLoggedIn } = require('@blaze-cms/core-auth-ui');
9
+
10
+ describe('getRecordId', () => {
11
+ beforeEach(() => {
12
+ jest.clearAllMocks();
13
+ });
14
+
15
+ describe('when entityForQuery is "user" and dataRecordId is empty', () => {
16
+ it('should return the logged-in user ID when available', () => {
17
+ const mockUserId = 'user-123';
18
+ checkIfLoggedIn.mockReturnValue({ id: mockUserId });
19
+
20
+ const result = getRecordId('user', [], { itemId: 'parent-id' });
21
+
22
+ expect(checkIfLoggedIn).toHaveBeenCalledTimes(1);
23
+ expect(result).toBe(mockUserId);
24
+ });
25
+
26
+ it('should fallback to parent.itemId when user ID is null', () => {
27
+ checkIfLoggedIn.mockReturnValue({ id: null });
28
+
29
+ const result = getRecordId('user', [], { itemId: 'parent-id' });
30
+
31
+ expect(checkIfLoggedIn).toHaveBeenCalledTimes(1);
32
+ expect(result).toBe('parent-id');
33
+ });
34
+
35
+ it('should fallback to parent.itemId when user ID is empty string', () => {
36
+ checkIfLoggedIn.mockReturnValue({ id: '' });
37
+
38
+ const result = getRecordId('user', [], { itemId: 'parent-id' });
39
+
40
+ expect(checkIfLoggedIn).toHaveBeenCalledTimes(1);
41
+ expect(result).toBe('parent-id');
42
+ });
43
+
44
+ it('should fallback to parent.itemId when user ID is 0', () => {
45
+ checkIfLoggedIn.mockReturnValue({ id: 0 });
46
+
47
+ const result = getRecordId('user', [], { itemId: 'parent-id' });
48
+
49
+ expect(checkIfLoggedIn).toHaveBeenCalledTimes(1);
50
+ expect(result).toBe('parent-id');
51
+ });
52
+ });
53
+
54
+ describe('when entityForQuery is "user" but dataRecordId has values', () => {
55
+ it('should return the first dataRecordId without checking user auth', () => {
56
+ const result = getRecordId('user', ['record-1', 'record-2'], { itemId: 'parent-id' });
57
+
58
+ expect(checkIfLoggedIn).not.toHaveBeenCalled();
59
+ expect(result).toBe('record-1');
60
+ });
61
+
62
+ it('should check logged-in user when first dataRecordId is falsy and fallback to parent.itemId', () => {
63
+ checkIfLoggedIn.mockReturnValue({ id: null });
64
+ const result = getRecordId('user', [null, 'record-2'], { itemId: 'parent-id' });
65
+
66
+ expect(checkIfLoggedIn).toHaveBeenCalledTimes(1);
67
+ expect(result).toBe('parent-id');
68
+ });
69
+
70
+ it('should check logged-in user when first dataRecordId is empty string and fallback to parent.itemId', () => {
71
+ checkIfLoggedIn.mockReturnValue({ id: '' });
72
+ const result = getRecordId('user', ['', 'record-2'], { itemId: 'parent-id' });
73
+
74
+ expect(checkIfLoggedIn).toHaveBeenCalledTimes(1);
75
+ expect(result).toBe('parent-id');
76
+ });
77
+ });
78
+
79
+ describe('when entityForQuery is not "user"', () => {
80
+ it('should return the first dataRecordId when available', () => {
81
+ const result = getRecordId('post', ['record-1', 'record-2'], { itemId: 'parent-id' });
82
+
83
+ expect(checkIfLoggedIn).not.toHaveBeenCalled();
84
+ expect(result).toBe('record-1');
85
+ });
86
+
87
+ it('should return parent.itemId when dataRecordId is empty', () => {
88
+ const result = getRecordId('post', [], { itemId: 'parent-id' });
89
+
90
+ expect(checkIfLoggedIn).not.toHaveBeenCalled();
91
+ expect(result).toBe('parent-id');
92
+ });
93
+
94
+ it('should return parent.itemId when first dataRecordId is falsy', () => {
95
+ const result = getRecordId('post', [null, 'record-2'], { itemId: 'parent-id' });
96
+
97
+ expect(checkIfLoggedIn).not.toHaveBeenCalled();
98
+ expect(result).toBe('parent-id');
99
+ });
100
+
101
+ it('should return parent.itemId when first dataRecordId is empty string', () => {
102
+ const result = getRecordId('post', ['', 'record-2'], { itemId: 'parent-id' });
103
+
104
+ expect(checkIfLoggedIn).not.toHaveBeenCalled();
105
+ expect(result).toBe('parent-id');
106
+ });
107
+ });
108
+ });
@@ -41,4 +41,48 @@ describe('injectHelperIntoTemplate', () => {
41
41
  const result = injectHelperIntoTemplate(null, 'url_encode');
42
42
  expect(result).toBeNull();
43
43
  });
44
+
45
+ it('should ignore {{else}} pattern and not inject helper', () => {
46
+ const template = '{{#if condition}}true{{else}}false{{/if}}';
47
+ const expected = '{{#if condition}}true{{else}}false{{/if}}';
48
+ const result = injectHelperIntoTemplate(template, 'url_encode');
49
+ expect(result).toBe(expected);
50
+ });
51
+
52
+ it('should ignore block helpers starting with # and not inject helper', () => {
53
+ const template = '{{#if currentParent.active}}Active{{/if}}';
54
+ const expected = '{{#if currentParent.active}}Active{{/if}}';
55
+ const result = injectHelperIntoTemplate(template, 'url_encode');
56
+ expect(result).toBe(expected);
57
+ });
58
+
59
+ it('should ignore closing helpers starting with / and not inject helper', () => {
60
+ const template = '{{/each}}{{/if}}{{/unless}}';
61
+ const expected = '{{/each}}{{/if}}{{/unless}}';
62
+ const result = injectHelperIntoTemplate(template, 'url_encode');
63
+ expect(result).toBe(expected);
64
+ });
65
+
66
+ it('should inject helper into regular placeholders but ignore control flow statements', () => {
67
+ const template = '{{#if active}}{{currentParent.name}}{{else}}{{defaultName}}{{/if}}';
68
+ const expected =
69
+ '{{#if active}}{{url_encode currentParent.name}}{{else}}{{url_encode defaultName}}{{/if}}';
70
+ const result = injectHelperIntoTemplate(template, 'url_encode');
71
+ expect(result).toBe(expected);
72
+ });
73
+
74
+ it('should handle complex template with mixed block helpers and regular placeholders', () => {
75
+ const template = '{{#each items}}{{name}} - {{price}}{{else}}No items{{/each}}';
76
+ const expected =
77
+ '{{#each items}}{{url_encode name}} - {{url_encode price}}{{else}}No items{{/each}}';
78
+ const result = injectHelperIntoTemplate(template, 'url_encode');
79
+ expect(result).toBe(expected);
80
+ });
81
+
82
+ it('should ignore {{{else}}} in triple-stash expressions', () => {
83
+ const template = '{{{#if condition}}}{{{value}}}{{{else}}}default{{{/if}}}';
84
+ const expected = '{{{#if condition}}}{{{url_encode value}}}{{{else}}}default{{{/if}}}';
85
+ const result = injectHelperIntoTemplate(template, 'url_encode');
86
+ expect(result).toBe(expected);
87
+ });
44
88
  });