@blaze-cms/react-page-builder 0.146.0-node18-tooltips.33 → 0.146.0-node18-tooltips.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.146.0-node18-tooltips.34](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.33...v0.146.0-node18-tooltips.34) (2025-12-17)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * carousel and relation image queries should handle root level properties ([#5052](https://github.com/thebyte9/blaze/issues/5052)) ([4307f5a](https://github.com/thebyte9/blaze/commit/4307f5a67e6de4ccf1ce6bab049c852f11650f72))
12
+
13
+
14
+
15
+
16
+
6
17
  # [0.146.0-node18-tooltips.33](https://github.com/thebyte9/blaze/compare/v0.146.0-node18-tooltips.32...v0.146.0-node18-tooltips.33) (2025-12-15)
7
18
 
8
19
 
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports["default"] = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
11
  require("core-js/modules/es.array.filter.js");
11
12
  require("core-js/modules/es.array.is-array.js");
12
13
  require("core-js/modules/es.array.map.js");
@@ -16,6 +17,7 @@ var _lodash = _interopRequireDefault(require("lodash.isplainobject"));
16
17
  var getIdsFromArray = function getIdsFromArray(relationImageData, relationProp, imageId) {
17
18
  if (!relationImageData.length) return [imageId];
18
19
  return relationImageData.map(function (image) {
20
+ if ((0, _typeof2["default"])(image) !== 'object') return image;
19
21
  if (!Object.keys(image).length) return '';
20
22
  return image[relationProp];
21
23
  }).filter(Boolean);
@@ -35,6 +37,7 @@ var getImageIds = function getImageIds(imageRelation, relationData, imageId) {
35
37
  if ((0, _lodash["default"])(relationImageData) && Object.keys(relationImageData).length) {
36
38
  return Array.isArray(relationImageData[relationProp]) ? relationImageData[relationProp] : [relationImageData[relationProp]];
37
39
  }
40
+ if (relationImageData) return [relationImageData];
38
41
  }
39
42
  return imageIdArray;
40
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"get-image-ids.js","names":["_lodash","_interopRequireDefault","require","getIdsFromArray","relationImageData","relationProp","imageId","length","map","image","Object","keys","filter","Boolean","getImageIds","imageRelation","relationData","imageIdArray","entityData","_imageRelation","_slicedToArray2","imageData","_imageData$split","split","_imageData$split2","relationName","Array","isArray","isPlainObject","_default","exports"],"sources":["../../src/helpers/get-image-ids.js"],"sourcesContent":["import isPlainObject from 'lodash.isplainobject';\n\nconst getIdsFromArray = (relationImageData, relationProp, imageId) => {\n if (!relationImageData.length) return [imageId];\n return relationImageData\n .map(image => {\n if (!Object.keys(image).length) return '';\n return image[relationProp];\n })\n .filter(Boolean);\n};\n\nconst getImageIds = (imageRelation, relationData, imageId) => {\n const imageIdArray = imageId ? [imageId] : [];\n if (relationData && relationData.entityData) {\n const [imageData] = imageRelation;\n const [relationName, relationProp] = imageData.split('.');\n const relationImageData = relationData.entityData[relationName];\n\n if (!relationImageData) return imageIdArray;\n\n if (Array.isArray(relationImageData))\n return getIdsFromArray(relationImageData, relationProp, imageId);\n\n if (isPlainObject(relationImageData) && Object.keys(relationImageData).length) {\n return Array.isArray(relationImageData[relationProp])\n ? relationImageData[relationProp]\n : [relationImageData[relationProp]];\n }\n }\n\n return imageIdArray;\n};\n\nexport default getImageIds;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,EAAK;EACpE,IAAI,CAACF,iBAAiB,CAACG,MAAM,EAAE,OAAO,CAACD,OAAO,CAAC;EAC/C,OAAOF,iBAAiB,CACrBI,GAAG,CAAC,UAAAC,KAAK,EAAI;IACZ,IAAI,CAACC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACF,MAAM,EAAE,OAAO,EAAE;IACzC,OAAOE,KAAK,CAACJ,YAAY,CAAC;EAC5B,CAAC,CAAC,CACDO,MAAM,CAACC,OAAO,CAAC;AACpB,CAAC;AAED,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,aAAa,EAAEC,YAAY,EAAEV,OAAO,EAAK;EAC5D,IAAMW,YAAY,GAAGX,OAAO,GAAG,CAACA,OAAO,CAAC,GAAG,EAAE;EAC7C,IAAIU,YAAY,IAAIA,YAAY,CAACE,UAAU,EAAE;IAC3C,IAAAC,cAAA,OAAAC,eAAA,aAAoBL,aAAa;MAA1BM,SAAS,GAAAF,cAAA;IAChB,IAAAG,gBAAA,GAAqCD,SAAS,CAACE,KAAK,CAAC,GAAG,CAAC;MAAAC,iBAAA,OAAAJ,eAAA,aAAAE,gBAAA;MAAlDG,YAAY,GAAAD,iBAAA;MAAEnB,YAAY,GAAAmB,iBAAA;IACjC,IAAMpB,iBAAiB,GAAGY,YAAY,CAACE,UAAU,CAACO,YAAY,CAAC;IAE/D,IAAI,CAACrB,iBAAiB,EAAE,OAAOa,YAAY;IAE3C,IAAIS,KAAK,CAACC,OAAO,CAACvB,iBAAiB,CAAC,EAClC,OAAOD,eAAe,CAACC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,CAAC;IAElE,IAAI,IAAAsB,kBAAa,EAACxB,iBAAiB,CAAC,IAAIM,MAAM,CAACC,IAAI,CAACP,iBAAiB,CAAC,CAACG,MAAM,EAAE;MAC7E,OAAOmB,KAAK,CAACC,OAAO,CAACvB,iBAAiB,CAACC,YAAY,CAAC,CAAC,GACjDD,iBAAiB,CAACC,YAAY,CAAC,GAC/B,CAACD,iBAAiB,CAACC,YAAY,CAAC,CAAC;IACvC;EACF;EAEA,OAAOY,YAAY;AACrB,CAAC;AAAC,IAAAY,QAAA,GAAAC,OAAA,cAEahB,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"get-image-ids.js","names":["_lodash","_interopRequireDefault","require","getIdsFromArray","relationImageData","relationProp","imageId","length","map","image","_typeof2","Object","keys","filter","Boolean","getImageIds","imageRelation","relationData","imageIdArray","entityData","_imageRelation","_slicedToArray2","imageData","_imageData$split","split","_imageData$split2","relationName","Array","isArray","isPlainObject","_default","exports"],"sources":["../../src/helpers/get-image-ids.js"],"sourcesContent":["import isPlainObject from 'lodash.isplainobject';\n\nconst getIdsFromArray = (relationImageData, relationProp, imageId) => {\n if (!relationImageData.length) return [imageId];\n return relationImageData\n .map(image => {\n if (typeof image !== 'object') return image;\n if (!Object.keys(image).length) return '';\n return image[relationProp];\n })\n .filter(Boolean);\n};\n\nconst getImageIds = (imageRelation, relationData, imageId) => {\n const imageIdArray = imageId ? [imageId] : [];\n if (relationData && relationData.entityData) {\n const [imageData] = imageRelation;\n const [relationName, relationProp] = imageData.split('.');\n const relationImageData = relationData.entityData[relationName];\n\n if (!relationImageData) return imageIdArray;\n\n if (Array.isArray(relationImageData))\n return getIdsFromArray(relationImageData, relationProp, imageId);\n\n if (isPlainObject(relationImageData) && Object.keys(relationImageData).length) {\n return Array.isArray(relationImageData[relationProp])\n ? relationImageData[relationProp]\n : [relationImageData[relationProp]];\n }\n\n if (relationImageData) return [relationImageData];\n }\n\n return imageIdArray;\n};\n\nexport default getImageIds;\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,EAAK;EACpE,IAAI,CAACF,iBAAiB,CAACG,MAAM,EAAE,OAAO,CAACD,OAAO,CAAC;EAC/C,OAAOF,iBAAiB,CACrBI,GAAG,CAAC,UAAAC,KAAK,EAAI;IACZ,IAAI,IAAAC,QAAA,aAAOD,KAAK,MAAK,QAAQ,EAAE,OAAOA,KAAK;IAC3C,IAAI,CAACE,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAACF,MAAM,EAAE,OAAO,EAAE;IACzC,OAAOE,KAAK,CAACJ,YAAY,CAAC;EAC5B,CAAC,CAAC,CACDQ,MAAM,CAACC,OAAO,CAAC;AACpB,CAAC;AAED,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,aAAa,EAAEC,YAAY,EAAEX,OAAO,EAAK;EAC5D,IAAMY,YAAY,GAAGZ,OAAO,GAAG,CAACA,OAAO,CAAC,GAAG,EAAE;EAC7C,IAAIW,YAAY,IAAIA,YAAY,CAACE,UAAU,EAAE;IAC3C,IAAAC,cAAA,OAAAC,eAAA,aAAoBL,aAAa;MAA1BM,SAAS,GAAAF,cAAA;IAChB,IAAAG,gBAAA,GAAqCD,SAAS,CAACE,KAAK,CAAC,GAAG,CAAC;MAAAC,iBAAA,OAAAJ,eAAA,aAAAE,gBAAA;MAAlDG,YAAY,GAAAD,iBAAA;MAAEpB,YAAY,GAAAoB,iBAAA;IACjC,IAAMrB,iBAAiB,GAAGa,YAAY,CAACE,UAAU,CAACO,YAAY,CAAC;IAE/D,IAAI,CAACtB,iBAAiB,EAAE,OAAOc,YAAY;IAE3C,IAAIS,KAAK,CAACC,OAAO,CAACxB,iBAAiB,CAAC,EAClC,OAAOD,eAAe,CAACC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,CAAC;IAElE,IAAI,IAAAuB,kBAAa,EAACzB,iBAAiB,CAAC,IAAIO,MAAM,CAACC,IAAI,CAACR,iBAAiB,CAAC,CAACG,MAAM,EAAE;MAC7E,OAAOoB,KAAK,CAACC,OAAO,CAACxB,iBAAiB,CAACC,YAAY,CAAC,CAAC,GACjDD,iBAAiB,CAACC,YAAY,CAAC,GAC/B,CAACD,iBAAiB,CAACC,YAAY,CAAC,CAAC;IACvC;IAEA,IAAID,iBAAiB,EAAE,OAAO,CAACA,iBAAiB,CAAC;EACnD;EAEA,OAAOc,YAAY;AACrB,CAAC;AAAC,IAAAY,QAAA,GAAAC,OAAA,cAEahB,WAAW","ignoreList":[]}
@@ -26,12 +26,19 @@ function useGetImageIdFromRelation(id, imageRelation, actions, isUsingRelationIm
26
26
  getPublished = _ref.getPublished,
27
27
  get = _ref.get;
28
28
  var getAction = isPreview ? get : getPublished || get;
29
- var props = imageRelationData ? "".concat(relationName, " { ").concat(relationProp, " }") : 'id';
29
+ var props;
30
+ if (imageRelationData) {
31
+ if (relationProp) {
32
+ props = imageRelationData ? "".concat(relationName, " { ").concat(relationProp, " }") : 'id';
33
+ } else {
34
+ props = relationName;
35
+ }
36
+ }
30
37
  var _useQuery = (0, _client.useQuery)((0, _query.generateSingleItemQuery)(getAction, props), {
31
38
  variables: {
32
39
  id: id
33
40
  },
34
- skip: skip
41
+ skip: skip || !imageRelationData
35
42
  }),
36
43
  _useQuery$data = _useQuery.data,
37
44
  data = _useQuery$data === void 0 ? {} : _useQuery$data,
@@ -1 +1 @@
1
- {"version":3,"file":"use-get-image-id-from-relation.js","names":["_client","require","_query","useGetImageIdFromRelation","id","imageRelation","actions","isUsingRelationImage","isPreview","hasImgSrc","skip","Object","keys","length","_imageRelation","_slicedToArray2","_imageRelation$","imageRelationData","_imageRelationData$sp","split","_imageRelationData$sp2","_imageRelationData$sp3","relationName","_imageRelationData$sp4","relationProp","_ref","getPublished","get","getAction","props","concat","_useQuery","useQuery","generateSingleItemQuery","variables","_useQuery$data","data","loading","error","_default","exports"],"sources":["../../src/hooks/use-get-image-id-from-relation.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateSingleItemQuery } from '../application/query';\n\nfunction useGetImageIdFromRelation(\n id,\n imageRelation,\n actions,\n isUsingRelationImage,\n isPreview,\n hasImgSrc\n) {\n const skip =\n !actions ||\n !id ||\n hasImgSrc ||\n typeof id !== 'string' ||\n !isUsingRelationImage ||\n !Object.keys(actions).length;\n\n const [imageRelationData = ''] = imageRelation;\n const [relationName = '', relationProp = ''] = imageRelationData.split('.');\n const { getPublished, get } = actions || {};\n const getAction = isPreview ? get : getPublished || get;\n\n const props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';\n const {\n data = {},\n loading,\n error\n } = useQuery(generateSingleItemQuery(getAction, props), {\n variables: { id },\n skip\n });\n return { data, loading, error };\n}\n\nexport default useGetImageIdFromRelation;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,SAASE,yBAAyBA,CAChCC,EAAE,EACFC,aAAa,EACbC,OAAO,EACPC,oBAAoB,EACpBC,SAAS,EACTC,SAAS,EACT;EACA,IAAMC,IAAI,GACR,CAACJ,OAAO,IACR,CAACF,EAAE,IACHK,SAAS,IACT,OAAOL,EAAE,KAAK,QAAQ,IACtB,CAACG,oBAAoB,IACrB,CAACI,MAAM,CAACC,IAAI,CAACN,OAAO,CAAC,CAACO,MAAM;EAE9B,IAAAC,cAAA,OAAAC,eAAA,aAAiCV,aAAa;IAAAW,eAAA,GAAAF,cAAA;IAAvCG,iBAAiB,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;EAC7B,IAAAE,qBAAA,GAA+CD,iBAAiB,CAACE,KAAK,CAAC,GAAG,CAAC;IAAAC,sBAAA,OAAAL,eAAA,aAAAG,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA;IAApEE,YAAY,GAAAD,sBAAA,cAAG,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA;IAAEI,YAAY,GAAAD,sBAAA,cAAG,EAAE,GAAAA,sBAAA;EAC3C,IAAAE,IAAA,GAA8BnB,OAAO,IAAI,CAAC,CAAC;IAAnCoB,YAAY,GAAAD,IAAA,CAAZC,YAAY;IAAEC,GAAG,GAAAF,IAAA,CAAHE,GAAG;EACzB,IAAMC,SAAS,GAAGpB,SAAS,GAAGmB,GAAG,GAAGD,YAAY,IAAIC,GAAG;EAEvD,IAAME,KAAK,GAAGZ,iBAAiB,MAAAa,MAAA,CAAMR,YAAY,SAAAQ,MAAA,CAAMN,YAAY,UAAO,IAAI;EAC9E,IAAAO,SAAA,GAII,IAAAC,gBAAQ,EAAC,IAAAC,8BAAuB,EAACL,SAAS,EAAEC,KAAK,CAAC,EAAE;MACtDK,SAAS,EAAE;QAAE9B,EAAE,EAAFA;MAAG,CAAC;MACjBM,IAAI,EAAJA;IACF,CAAC,CAAC;IAAAyB,cAAA,GAAAJ,SAAA,CANAK,IAAI;IAAJA,IAAI,GAAAD,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;IACTE,OAAO,GAAAN,SAAA,CAAPM,OAAO;IACPC,KAAK,GAAAP,SAAA,CAALO,KAAK;EAKP,OAAO;IAAEF,IAAI,EAAJA,IAAI;IAAEC,OAAO,EAAPA,OAAO;IAAEC,KAAK,EAALA;EAAM,CAAC;AACjC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEcrC,yBAAyB","ignoreList":[]}
1
+ {"version":3,"file":"use-get-image-id-from-relation.js","names":["_client","require","_query","useGetImageIdFromRelation","id","imageRelation","actions","isUsingRelationImage","isPreview","hasImgSrc","skip","Object","keys","length","_imageRelation","_slicedToArray2","_imageRelation$","imageRelationData","_imageRelationData$sp","split","_imageRelationData$sp2","_imageRelationData$sp3","relationName","_imageRelationData$sp4","relationProp","_ref","getPublished","get","getAction","props","concat","_useQuery","useQuery","generateSingleItemQuery","variables","_useQuery$data","data","loading","error","_default","exports"],"sources":["../../src/hooks/use-get-image-id-from-relation.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateSingleItemQuery } from '../application/query';\n\nfunction useGetImageIdFromRelation(\n id,\n imageRelation,\n actions,\n isUsingRelationImage,\n isPreview,\n hasImgSrc\n) {\n const skip =\n !actions ||\n !id ||\n hasImgSrc ||\n typeof id !== 'string' ||\n !isUsingRelationImage ||\n !Object.keys(actions).length;\n\n const [imageRelationData = ''] = imageRelation;\n const [relationName = '', relationProp = ''] = imageRelationData.split('.');\n const { getPublished, get } = actions || {};\n const getAction = isPreview ? get : getPublished || get;\n\n let props;\n if (imageRelationData) {\n if (relationProp) {\n props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';\n } else {\n props = relationName;\n }\n }\n const {\n data = {},\n loading,\n error\n } = useQuery(generateSingleItemQuery(getAction, props), {\n variables: { id },\n skip: skip || !imageRelationData\n });\n return { data, loading, error };\n}\n\nexport default useGetImageIdFromRelation;\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,SAASE,yBAAyBA,CAChCC,EAAE,EACFC,aAAa,EACbC,OAAO,EACPC,oBAAoB,EACpBC,SAAS,EACTC,SAAS,EACT;EACA,IAAMC,IAAI,GACR,CAACJ,OAAO,IACR,CAACF,EAAE,IACHK,SAAS,IACT,OAAOL,EAAE,KAAK,QAAQ,IACtB,CAACG,oBAAoB,IACrB,CAACI,MAAM,CAACC,IAAI,CAACN,OAAO,CAAC,CAACO,MAAM;EAE9B,IAAAC,cAAA,OAAAC,eAAA,aAAiCV,aAAa;IAAAW,eAAA,GAAAF,cAAA;IAAvCG,iBAAiB,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;EAC7B,IAAAE,qBAAA,GAA+CD,iBAAiB,CAACE,KAAK,CAAC,GAAG,CAAC;IAAAC,sBAAA,OAAAL,eAAA,aAAAG,qBAAA;IAAAG,sBAAA,GAAAD,sBAAA;IAApEE,YAAY,GAAAD,sBAAA,cAAG,EAAE,GAAAA,sBAAA;IAAAE,sBAAA,GAAAH,sBAAA;IAAEI,YAAY,GAAAD,sBAAA,cAAG,EAAE,GAAAA,sBAAA;EAC3C,IAAAE,IAAA,GAA8BnB,OAAO,IAAI,CAAC,CAAC;IAAnCoB,YAAY,GAAAD,IAAA,CAAZC,YAAY;IAAEC,GAAG,GAAAF,IAAA,CAAHE,GAAG;EACzB,IAAMC,SAAS,GAAGpB,SAAS,GAAGmB,GAAG,GAAGD,YAAY,IAAIC,GAAG;EAEvD,IAAIE,KAAK;EACT,IAAIZ,iBAAiB,EAAE;IACrB,IAAIO,YAAY,EAAE;MAChBK,KAAK,GAAGZ,iBAAiB,MAAAa,MAAA,CAAMR,YAAY,SAAAQ,MAAA,CAAMN,YAAY,UAAO,IAAI;IAC1E,CAAC,MAAM;MACLK,KAAK,GAAGP,YAAY;IACtB;EACF;EACA,IAAAS,SAAA,GAII,IAAAC,gBAAQ,EAAC,IAAAC,8BAAuB,EAACL,SAAS,EAAEC,KAAK,CAAC,EAAE;MACtDK,SAAS,EAAE;QAAE9B,EAAE,EAAFA;MAAG,CAAC;MACjBM,IAAI,EAAEA,IAAI,IAAI,CAACO;IACjB,CAAC,CAAC;IAAAkB,cAAA,GAAAJ,SAAA,CANAK,IAAI;IAAJA,IAAI,GAAAD,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;IACTE,OAAO,GAAAN,SAAA,CAAPM,OAAO;IACPC,KAAK,GAAAP,SAAA,CAALO,KAAK;EAKP,OAAO;IAAEF,IAAI,EAAJA,IAAI;IAAEC,OAAO,EAAPA,OAAO;IAAEC,KAAK,EAALA;EAAM,CAAC;AACjC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEcrC,yBAAyB","ignoreList":[]}
@@ -2,6 +2,7 @@ import isPlainObject from 'lodash.isplainobject';
2
2
  const getIdsFromArray = (relationImageData, relationProp, imageId) => {
3
3
  if (!relationImageData.length) return [imageId];
4
4
  return relationImageData.map(image => {
5
+ if (typeof image !== 'object') return image;
5
6
  if (!Object.keys(image).length) return '';
6
7
  return image[relationProp];
7
8
  }).filter(Boolean);
@@ -17,6 +18,7 @@ const getImageIds = (imageRelation, relationData, imageId) => {
17
18
  if (isPlainObject(relationImageData) && Object.keys(relationImageData).length) {
18
19
  return Array.isArray(relationImageData[relationProp]) ? relationImageData[relationProp] : [relationImageData[relationProp]];
19
20
  }
21
+ if (relationImageData) return [relationImageData];
20
22
  }
21
23
  return imageIdArray;
22
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"get-image-ids.js","names":["isPlainObject","getIdsFromArray","relationImageData","relationProp","imageId","length","map","image","Object","keys","filter","Boolean","getImageIds","imageRelation","relationData","imageIdArray","entityData","imageData","relationName","split","Array","isArray"],"sources":["../../src/helpers/get-image-ids.js"],"sourcesContent":["import isPlainObject from 'lodash.isplainobject';\n\nconst getIdsFromArray = (relationImageData, relationProp, imageId) => {\n if (!relationImageData.length) return [imageId];\n return relationImageData\n .map(image => {\n if (!Object.keys(image).length) return '';\n return image[relationProp];\n })\n .filter(Boolean);\n};\n\nconst getImageIds = (imageRelation, relationData, imageId) => {\n const imageIdArray = imageId ? [imageId] : [];\n if (relationData && relationData.entityData) {\n const [imageData] = imageRelation;\n const [relationName, relationProp] = imageData.split('.');\n const relationImageData = relationData.entityData[relationName];\n\n if (!relationImageData) return imageIdArray;\n\n if (Array.isArray(relationImageData))\n return getIdsFromArray(relationImageData, relationProp, imageId);\n\n if (isPlainObject(relationImageData) && Object.keys(relationImageData).length) {\n return Array.isArray(relationImageData[relationProp])\n ? relationImageData[relationProp]\n : [relationImageData[relationProp]];\n }\n }\n\n return imageIdArray;\n};\n\nexport default getImageIds;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,sBAAsB;AAEhD,MAAMC,eAAe,GAAGA,CAACC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,KAAK;EACpE,IAAI,CAACF,iBAAiB,CAACG,MAAM,EAAE,OAAO,CAACD,OAAO,CAAC;EAC/C,OAAOF,iBAAiB,CACrBI,GAAG,CAACC,KAAK,IAAI;IACZ,IAAI,CAACC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACF,MAAM,EAAE,OAAO,EAAE;IACzC,OAAOE,KAAK,CAACJ,YAAY,CAAC;EAC5B,CAAC,CAAC,CACDO,MAAM,CAACC,OAAO,CAAC;AACpB,CAAC;AAED,MAAMC,WAAW,GAAGA,CAACC,aAAa,EAAEC,YAAY,EAAEV,OAAO,KAAK;EAC5D,MAAMW,YAAY,GAAGX,OAAO,GAAG,CAACA,OAAO,CAAC,GAAG,EAAE;EAC7C,IAAIU,YAAY,IAAIA,YAAY,CAACE,UAAU,EAAE;IAC3C,MAAM,CAACC,SAAS,CAAC,GAAGJ,aAAa;IACjC,MAAM,CAACK,YAAY,EAAEf,YAAY,CAAC,GAAGc,SAAS,CAACE,KAAK,CAAC,GAAG,CAAC;IACzD,MAAMjB,iBAAiB,GAAGY,YAAY,CAACE,UAAU,CAACE,YAAY,CAAC;IAE/D,IAAI,CAAChB,iBAAiB,EAAE,OAAOa,YAAY;IAE3C,IAAIK,KAAK,CAACC,OAAO,CAACnB,iBAAiB,CAAC,EAClC,OAAOD,eAAe,CAACC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,CAAC;IAElE,IAAIJ,aAAa,CAACE,iBAAiB,CAAC,IAAIM,MAAM,CAACC,IAAI,CAACP,iBAAiB,CAAC,CAACG,MAAM,EAAE;MAC7E,OAAOe,KAAK,CAACC,OAAO,CAACnB,iBAAiB,CAACC,YAAY,CAAC,CAAC,GACjDD,iBAAiB,CAACC,YAAY,CAAC,GAC/B,CAACD,iBAAiB,CAACC,YAAY,CAAC,CAAC;IACvC;EACF;EAEA,OAAOY,YAAY;AACrB,CAAC;AAED,eAAeH,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"get-image-ids.js","names":["isPlainObject","getIdsFromArray","relationImageData","relationProp","imageId","length","map","image","Object","keys","filter","Boolean","getImageIds","imageRelation","relationData","imageIdArray","entityData","imageData","relationName","split","Array","isArray"],"sources":["../../src/helpers/get-image-ids.js"],"sourcesContent":["import isPlainObject from 'lodash.isplainobject';\n\nconst getIdsFromArray = (relationImageData, relationProp, imageId) => {\n if (!relationImageData.length) return [imageId];\n return relationImageData\n .map(image => {\n if (typeof image !== 'object') return image;\n if (!Object.keys(image).length) return '';\n return image[relationProp];\n })\n .filter(Boolean);\n};\n\nconst getImageIds = (imageRelation, relationData, imageId) => {\n const imageIdArray = imageId ? [imageId] : [];\n if (relationData && relationData.entityData) {\n const [imageData] = imageRelation;\n const [relationName, relationProp] = imageData.split('.');\n const relationImageData = relationData.entityData[relationName];\n\n if (!relationImageData) return imageIdArray;\n\n if (Array.isArray(relationImageData))\n return getIdsFromArray(relationImageData, relationProp, imageId);\n\n if (isPlainObject(relationImageData) && Object.keys(relationImageData).length) {\n return Array.isArray(relationImageData[relationProp])\n ? relationImageData[relationProp]\n : [relationImageData[relationProp]];\n }\n\n if (relationImageData) return [relationImageData];\n }\n\n return imageIdArray;\n};\n\nexport default getImageIds;\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,sBAAsB;AAEhD,MAAMC,eAAe,GAAGA,CAACC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,KAAK;EACpE,IAAI,CAACF,iBAAiB,CAACG,MAAM,EAAE,OAAO,CAACD,OAAO,CAAC;EAC/C,OAAOF,iBAAiB,CACrBI,GAAG,CAACC,KAAK,IAAI;IACZ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOA,KAAK;IAC3C,IAAI,CAACC,MAAM,CAACC,IAAI,CAACF,KAAK,CAAC,CAACF,MAAM,EAAE,OAAO,EAAE;IACzC,OAAOE,KAAK,CAACJ,YAAY,CAAC;EAC5B,CAAC,CAAC,CACDO,MAAM,CAACC,OAAO,CAAC;AACpB,CAAC;AAED,MAAMC,WAAW,GAAGA,CAACC,aAAa,EAAEC,YAAY,EAAEV,OAAO,KAAK;EAC5D,MAAMW,YAAY,GAAGX,OAAO,GAAG,CAACA,OAAO,CAAC,GAAG,EAAE;EAC7C,IAAIU,YAAY,IAAIA,YAAY,CAACE,UAAU,EAAE;IAC3C,MAAM,CAACC,SAAS,CAAC,GAAGJ,aAAa;IACjC,MAAM,CAACK,YAAY,EAAEf,YAAY,CAAC,GAAGc,SAAS,CAACE,KAAK,CAAC,GAAG,CAAC;IACzD,MAAMjB,iBAAiB,GAAGY,YAAY,CAACE,UAAU,CAACE,YAAY,CAAC;IAE/D,IAAI,CAAChB,iBAAiB,EAAE,OAAOa,YAAY;IAE3C,IAAIK,KAAK,CAACC,OAAO,CAACnB,iBAAiB,CAAC,EAClC,OAAOD,eAAe,CAACC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,CAAC;IAElE,IAAIJ,aAAa,CAACE,iBAAiB,CAAC,IAAIM,MAAM,CAACC,IAAI,CAACP,iBAAiB,CAAC,CAACG,MAAM,EAAE;MAC7E,OAAOe,KAAK,CAACC,OAAO,CAACnB,iBAAiB,CAACC,YAAY,CAAC,CAAC,GACjDD,iBAAiB,CAACC,YAAY,CAAC,GAC/B,CAACD,iBAAiB,CAACC,YAAY,CAAC,CAAC;IACvC;IAEA,IAAID,iBAAiB,EAAE,OAAO,CAACA,iBAAiB,CAAC;EACnD;EAEA,OAAOa,YAAY;AACrB,CAAC;AAED,eAAeH,WAAW","ignoreList":[]}
@@ -9,7 +9,14 @@ function useGetImageIdFromRelation(id, imageRelation, actions, isUsingRelationIm
9
9
  get
10
10
  } = actions || {};
11
11
  const getAction = isPreview ? get : getPublished || get;
12
- const props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';
12
+ let props;
13
+ if (imageRelationData) {
14
+ if (relationProp) {
15
+ props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';
16
+ } else {
17
+ props = relationName;
18
+ }
19
+ }
13
20
  const {
14
21
  data = {},
15
22
  loading,
@@ -18,7 +25,7 @@ function useGetImageIdFromRelation(id, imageRelation, actions, isUsingRelationIm
18
25
  variables: {
19
26
  id
20
27
  },
21
- skip
28
+ skip: skip || !imageRelationData
22
29
  });
23
30
  return {
24
31
  data,
@@ -1 +1 @@
1
- {"version":3,"file":"use-get-image-id-from-relation.js","names":["useQuery","generateSingleItemQuery","useGetImageIdFromRelation","id","imageRelation","actions","isUsingRelationImage","isPreview","hasImgSrc","skip","Object","keys","length","imageRelationData","relationName","relationProp","split","getPublished","get","getAction","props","data","loading","error","variables"],"sources":["../../src/hooks/use-get-image-id-from-relation.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateSingleItemQuery } from '../application/query';\n\nfunction useGetImageIdFromRelation(\n id,\n imageRelation,\n actions,\n isUsingRelationImage,\n isPreview,\n hasImgSrc\n) {\n const skip =\n !actions ||\n !id ||\n hasImgSrc ||\n typeof id !== 'string' ||\n !isUsingRelationImage ||\n !Object.keys(actions).length;\n\n const [imageRelationData = ''] = imageRelation;\n const [relationName = '', relationProp = ''] = imageRelationData.split('.');\n const { getPublished, get } = actions || {};\n const getAction = isPreview ? get : getPublished || get;\n\n const props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';\n const {\n data = {},\n loading,\n error\n } = useQuery(generateSingleItemQuery(getAction, props), {\n variables: { id },\n skip\n });\n return { data, loading, error };\n}\n\nexport default useGetImageIdFromRelation;\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,uBAAuB,QAAQ,sBAAsB;AAE9D,SAASC,yBAAyBA,CAChCC,EAAE,EACFC,aAAa,EACbC,OAAO,EACPC,oBAAoB,EACpBC,SAAS,EACTC,SAAS,EACT;EACA,MAAMC,IAAI,GACR,CAACJ,OAAO,IACR,CAACF,EAAE,IACHK,SAAS,IACT,OAAOL,EAAE,KAAK,QAAQ,IACtB,CAACG,oBAAoB,IACrB,CAACI,MAAM,CAACC,IAAI,CAACN,OAAO,CAAC,CAACO,MAAM;EAE9B,MAAM,CAACC,iBAAiB,GAAG,EAAE,CAAC,GAAGT,aAAa;EAC9C,MAAM,CAACU,YAAY,GAAG,EAAE,EAAEC,YAAY,GAAG,EAAE,CAAC,GAAGF,iBAAiB,CAACG,KAAK,CAAC,GAAG,CAAC;EAC3E,MAAM;IAAEC,YAAY;IAAEC;EAAI,CAAC,GAAGb,OAAO,IAAI,CAAC,CAAC;EAC3C,MAAMc,SAAS,GAAGZ,SAAS,GAAGW,GAAG,GAAGD,YAAY,IAAIC,GAAG;EAEvD,MAAME,KAAK,GAAGP,iBAAiB,GAAG,GAAGC,YAAY,MAAMC,YAAY,IAAI,GAAG,IAAI;EAC9E,MAAM;IACJM,IAAI,GAAG,CAAC,CAAC;IACTC,OAAO;IACPC;EACF,CAAC,GAAGvB,QAAQ,CAACC,uBAAuB,CAACkB,SAAS,EAAEC,KAAK,CAAC,EAAE;IACtDI,SAAS,EAAE;MAAErB;IAAG,CAAC;IACjBM;EACF,CAAC,CAAC;EACF,OAAO;IAAEY,IAAI;IAAEC,OAAO;IAAEC;EAAM,CAAC;AACjC;AAEA,eAAerB,yBAAyB","ignoreList":[]}
1
+ {"version":3,"file":"use-get-image-id-from-relation.js","names":["useQuery","generateSingleItemQuery","useGetImageIdFromRelation","id","imageRelation","actions","isUsingRelationImage","isPreview","hasImgSrc","skip","Object","keys","length","imageRelationData","relationName","relationProp","split","getPublished","get","getAction","props","data","loading","error","variables"],"sources":["../../src/hooks/use-get-image-id-from-relation.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateSingleItemQuery } from '../application/query';\n\nfunction useGetImageIdFromRelation(\n id,\n imageRelation,\n actions,\n isUsingRelationImage,\n isPreview,\n hasImgSrc\n) {\n const skip =\n !actions ||\n !id ||\n hasImgSrc ||\n typeof id !== 'string' ||\n !isUsingRelationImage ||\n !Object.keys(actions).length;\n\n const [imageRelationData = ''] = imageRelation;\n const [relationName = '', relationProp = ''] = imageRelationData.split('.');\n const { getPublished, get } = actions || {};\n const getAction = isPreview ? get : getPublished || get;\n\n let props;\n if (imageRelationData) {\n if (relationProp) {\n props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';\n } else {\n props = relationName;\n }\n }\n const {\n data = {},\n loading,\n error\n } = useQuery(generateSingleItemQuery(getAction, props), {\n variables: { id },\n skip: skip || !imageRelationData\n });\n return { data, loading, error };\n}\n\nexport default useGetImageIdFromRelation;\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,uBAAuB,QAAQ,sBAAsB;AAE9D,SAASC,yBAAyBA,CAChCC,EAAE,EACFC,aAAa,EACbC,OAAO,EACPC,oBAAoB,EACpBC,SAAS,EACTC,SAAS,EACT;EACA,MAAMC,IAAI,GACR,CAACJ,OAAO,IACR,CAACF,EAAE,IACHK,SAAS,IACT,OAAOL,EAAE,KAAK,QAAQ,IACtB,CAACG,oBAAoB,IACrB,CAACI,MAAM,CAACC,IAAI,CAACN,OAAO,CAAC,CAACO,MAAM;EAE9B,MAAM,CAACC,iBAAiB,GAAG,EAAE,CAAC,GAAGT,aAAa;EAC9C,MAAM,CAACU,YAAY,GAAG,EAAE,EAAEC,YAAY,GAAG,EAAE,CAAC,GAAGF,iBAAiB,CAACG,KAAK,CAAC,GAAG,CAAC;EAC3E,MAAM;IAAEC,YAAY;IAAEC;EAAI,CAAC,GAAGb,OAAO,IAAI,CAAC,CAAC;EAC3C,MAAMc,SAAS,GAAGZ,SAAS,GAAGW,GAAG,GAAGD,YAAY,IAAIC,GAAG;EAEvD,IAAIE,KAAK;EACT,IAAIP,iBAAiB,EAAE;IACrB,IAAIE,YAAY,EAAE;MAChBK,KAAK,GAAGP,iBAAiB,GAAG,GAAGC,YAAY,MAAMC,YAAY,IAAI,GAAG,IAAI;IAC1E,CAAC,MAAM;MACLK,KAAK,GAAGN,YAAY;IACtB;EACF;EACA,MAAM;IACJO,IAAI,GAAG,CAAC,CAAC;IACTC,OAAO;IACPC;EACF,CAAC,GAAGvB,QAAQ,CAACC,uBAAuB,CAACkB,SAAS,EAAEC,KAAK,CAAC,EAAE;IACtDI,SAAS,EAAE;MAAErB;IAAG,CAAC;IACjBM,IAAI,EAAEA,IAAI,IAAI,CAACI;EACjB,CAAC,CAAC;EACF,OAAO;IAAEQ,IAAI;IAAEC,OAAO;IAAEC;EAAM,CAAC;AACjC;AAEA,eAAerB,yBAAyB","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-tooltips.33",
3
+ "version": "0.146.0-node18-tooltips.34",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -32,7 +32,7 @@
32
32
  "@blaze-cms/core-errors-ui": "0.146.0-node18-tooltips.0",
33
33
  "@blaze-cms/image-cdn-react": "0.3.0-alpha.7",
34
34
  "@blaze-cms/nextjs-components": "0.146.0-node18-tooltips.32",
35
- "@blaze-cms/plugin-search-ui": "0.146.0-node18-tooltips.33",
35
+ "@blaze-cms/plugin-search-ui": "0.146.0-node18-tooltips.34",
36
36
  "@blaze-cms/setup-ui": "0.146.0-node18-tooltips.0",
37
37
  "@blaze-cms/utils": "0.146.0-node18-tooltips.32",
38
38
  "@blaze-cms/utils-handlebars": "0.146.0-node18-tooltips.32",
@@ -92,5 +92,5 @@
92
92
  "lib/*",
93
93
  "lib-es/*"
94
94
  ],
95
- "gitHead": "716b7ae2c9ac96e4515eaf2d64f9c85f6d0458d1"
95
+ "gitHead": "df92551425c4ca0c3e68ae30e83c97c94572280c"
96
96
  }
@@ -4,6 +4,7 @@ const getIdsFromArray = (relationImageData, relationProp, imageId) => {
4
4
  if (!relationImageData.length) return [imageId];
5
5
  return relationImageData
6
6
  .map(image => {
7
+ if (typeof image !== 'object') return image;
7
8
  if (!Object.keys(image).length) return '';
8
9
  return image[relationProp];
9
10
  })
@@ -27,6 +28,8 @@ const getImageIds = (imageRelation, relationData, imageId) => {
27
28
  ? relationImageData[relationProp]
28
29
  : [relationImageData[relationProp]];
29
30
  }
31
+
32
+ if (relationImageData) return [relationImageData];
30
33
  }
31
34
 
32
35
  return imageIdArray;
@@ -22,14 +22,21 @@ function useGetImageIdFromRelation(
22
22
  const { getPublished, get } = actions || {};
23
23
  const getAction = isPreview ? get : getPublished || get;
24
24
 
25
- const props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';
25
+ let props;
26
+ if (imageRelationData) {
27
+ if (relationProp) {
28
+ props = imageRelationData ? `${relationName} { ${relationProp} }` : 'id';
29
+ } else {
30
+ props = relationName;
31
+ }
32
+ }
26
33
  const {
27
34
  data = {},
28
35
  loading,
29
36
  error
30
37
  } = useQuery(generateSingleItemQuery(getAction, props), {
31
38
  variables: { id },
32
- skip
39
+ skip: skip || !imageRelationData
33
40
  });
34
41
  return { data, loading, error };
35
42
  }
@@ -42,10 +42,10 @@ describe('getImageIds helper', () => {
42
42
  expect(getImageIds(relationNameProp, relationData, '')).toEqual(['test', 'test3']);
43
43
  });
44
44
 
45
- it('should return expected value if relationName is an empty object', () => {
45
+ it('should return the relation object itself when relationName is an empty object', () => {
46
46
  expect(
47
47
  getImageIds(relationNameProp, { entityData: { relationName: {} } }, 'test-id-not-array')
48
- ).toEqual(['test-id-not-array']);
48
+ ).toEqual([{}]);
49
49
  });
50
50
 
51
51
  it('should return expected value if relationName is not an empty object', () => {
@@ -58,16 +58,10 @@ describe('getImageIds helper', () => {
58
58
  ).toEqual(['prop-value']);
59
59
  });
60
60
 
61
- it('should return expected value if relationName is not an object or array', () => {
61
+ it('should return primitive relationName when it is not an object or array', () => {
62
62
  expect(
63
63
  getImageIds(relationNameProp, { entityData: { relationName: 'relationName' } }, imageId)
64
- ).toEqual([imageId]);
65
- });
66
-
67
- it('should return empty array', () => {
68
- expect(
69
- getImageIds(relationNameProp, { entityData: { relationName: 'relationName' } }, '')
70
- ).toEqual([]);
64
+ ).toEqual(['relationName']);
71
65
  });
72
66
 
73
67
  it('should return data from object with non array property', () => {
@@ -77,4 +71,22 @@ describe('getImageIds helper', () => {
77
71
  it('should return data from object with array property', () => {
78
72
  expect(getImageIds(['objectRelation.imageIds'], relationData, '')).toEqual(['test5']);
79
73
  });
74
+
75
+ it('should return an empty array when no imageId and relation produces no ids', () => {
76
+ const dataWithNoMatches = {
77
+ entityData: {
78
+ relationName: [{ otherProp: 'x' }, { otherProp: 'y' }]
79
+ }
80
+ };
81
+ expect(getImageIds(['relationName.relationProp'], dataWithNoMatches, '')).toEqual([]);
82
+ });
83
+
84
+ it('should return multiple ids when relation property is an array', () => {
85
+ const dataWithPropArray = {
86
+ entityData: {
87
+ gallery: { imageIds: ['id1', 'id2'] }
88
+ }
89
+ };
90
+ expect(getImageIds(['gallery.imageIds'], dataWithPropArray, '')).toEqual(['id1', 'id2']);
91
+ });
80
92
  });
@@ -41,11 +41,21 @@ describe('useGetImageIdFromRelation', () => {
41
41
  it('should use `get` query when preview is true', async () => {
42
42
  const spy = jest.spyOn(query, 'generateSingleItemQuery');
43
43
 
44
- renderHook(() => useGetImageIdFromRelation(mockProps.id, [], mockProps.actions, true, true), {
45
- wrapper
46
- });
44
+ renderHook(
45
+ () =>
46
+ useGetImageIdFromRelation(
47
+ mockProps.id,
48
+ mockProps.imageRelation,
49
+ mockProps.actions,
50
+ true,
51
+ true
52
+ ),
53
+ {
54
+ wrapper
55
+ }
56
+ );
47
57
 
48
- expect(spy).toHaveBeenCalledWith('getPage', 'id');
58
+ expect(spy).toHaveBeenCalledWith('getPage', 'publishedPages { imageId }');
49
59
  });
50
60
 
51
61
  it('should use `getPublished` query when preview is false', async () => {
@@ -73,6 +83,65 @@ describe('useGetImageIdFromRelation', () => {
73
83
  expect(result.current.error).toBeUndefined();
74
84
  expect(result.current.data).toEqual({});
75
85
  });
86
+
87
+ it('should skip when hasImgSrc is true', async () => {
88
+ const { result } = renderHook(
89
+ () =>
90
+ useGetImageIdFromRelation(
91
+ mockProps.id,
92
+ mockProps.imageRelation,
93
+ mockProps.actions,
94
+ true,
95
+ false,
96
+ true
97
+ ),
98
+ { wrapper }
99
+ );
100
+
101
+ expect(result.current.loading).toBeFalsy();
102
+ expect(result.current.error).toBeUndefined();
103
+ expect(result.current.data).toEqual({});
104
+ });
105
+
106
+ it('should skip when id is not a string', async () => {
107
+ const { result } = renderHook(
108
+ () =>
109
+ useGetImageIdFromRelation(
110
+ 12345,
111
+ mockProps.imageRelation,
112
+ mockProps.actions,
113
+ true,
114
+ false,
115
+ false
116
+ ),
117
+ { wrapper }
118
+ );
119
+
120
+ expect(result.current.loading).toBeFalsy();
121
+ expect(result.current.error).toBeUndefined();
122
+ expect(result.current.data).toEqual({});
123
+ });
124
+
125
+ it('should fallback to `get` when `getPublished` is missing', async () => {
126
+ const actionsWithoutPublished = { ...mockProps.actions };
127
+ delete actionsWithoutPublished.getPublished;
128
+
129
+ const spy = jest.spyOn(query, 'generateSingleItemQuery');
130
+
131
+ renderHook(
132
+ () =>
133
+ useGetImageIdFromRelation(
134
+ mockProps.id,
135
+ mockProps.imageRelation,
136
+ actionsWithoutPublished,
137
+ true,
138
+ false
139
+ ),
140
+ { wrapper }
141
+ );
142
+
143
+ expect(spy).toHaveBeenCalledWith('getPage', 'publishedPages { imageId }');
144
+ });
76
145
  });
77
146
 
78
147
  function renderCustomHook() {