@blaze-cms/react-page-builder 0.106.0-alpha.0 → 0.107.0-alpha.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/lib/components/Card/CardRender.js +3 -2
  3. package/lib/components/Card/CardRender.js.map +1 -1
  4. package/lib/components/DataSummary/DataSummaryFactory.js +12 -3
  5. package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
  6. package/lib/components/DataSummary/DataSummaryRender.js +11 -4
  7. package/lib/components/DataSummary/DataSummaryRender.js.map +1 -1
  8. package/lib/components/DataSummary/helpers/build-loop-props-content.js +102 -0
  9. package/lib/components/DataSummary/helpers/build-loop-props-content.js.map +1 -0
  10. package/lib/components/DataSummary/helpers/get-loop-props-limit.js +31 -0
  11. package/lib/components/DataSummary/helpers/get-loop-props-limit.js.map +1 -0
  12. package/lib/components/DataSummary/helpers/get-prop-value.js.map +1 -1
  13. package/lib/components/DataSummary/helpers/index.js +8 -0
  14. package/lib/components/DataSummary/helpers/index.js.map +1 -1
  15. package/lib/hooks/helpers/buildPBComponents.js +1 -1
  16. package/lib/hooks/helpers/buildPBComponents.js.map +1 -1
  17. package/lib-es/components/Card/CardRender.js +3 -2
  18. package/lib-es/components/Card/CardRender.js.map +1 -1
  19. package/lib-es/components/DataSummary/DataSummaryFactory.js +13 -4
  20. package/lib-es/components/DataSummary/DataSummaryFactory.js.map +1 -1
  21. package/lib-es/components/DataSummary/DataSummaryRender.js +13 -6
  22. package/lib-es/components/DataSummary/DataSummaryRender.js.map +1 -1
  23. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js +63 -0
  24. package/lib-es/components/DataSummary/helpers/build-loop-props-content.js.map +1 -0
  25. package/lib-es/components/DataSummary/helpers/get-loop-props-limit.js +13 -0
  26. package/lib-es/components/DataSummary/helpers/get-loop-props-limit.js.map +1 -0
  27. package/lib-es/components/DataSummary/helpers/get-prop-value.js.map +1 -1
  28. package/lib-es/components/DataSummary/helpers/index.js +2 -1
  29. package/lib-es/components/DataSummary/helpers/index.js.map +1 -1
  30. package/lib-es/hooks/helpers/buildPBComponents.js +1 -1
  31. package/lib-es/hooks/helpers/buildPBComponents.js.map +1 -1
  32. package/package.json +2 -2
  33. package/src/components/Card/CardRender.js +10 -10
  34. package/src/components/DataSummary/DataSummaryFactory.js +11 -3
  35. package/src/components/DataSummary/DataSummaryRender.js +19 -4
  36. package/src/components/DataSummary/helpers/build-loop-props-content.js +60 -0
  37. package/src/components/DataSummary/helpers/get-loop-props-limit.js +12 -0
  38. package/src/components/DataSummary/helpers/get-prop-value.js +1 -1
  39. package/src/components/DataSummary/helpers/index.js +3 -1
  40. package/src/hooks/helpers/buildPBComponents.js +1 -1
  41. package/tests/unit/src/components/DataSummary/helpers/build-loop-props-content.test.js +60 -0
  42. package/tests/unit/src/components/DataSummary/{DataSummaryTypes/helpers → helpers}/build-props-to-display-with-content.test.js +1 -1
  43. package/tests/unit/src/components/DataSummary/{DataSummaryTypes/helpers → helpers}/get-data-summary-query.test.js +1 -1
  44. package/tests/unit/src/components/DataSummary/{DataSummaryTypes/helpers → helpers}/get-link-to-published-content.test.js +1 -1
  45. package/tests/unit/src/components/DataSummary/helpers/get-loop-props-limit.test.js +32 -0
  46. package/tests/unit/src/components/DataSummary/{DataSummaryTypes/helpers → helpers}/get-prop-value.test.js +1 -1
  47. package/tests/unit/src/components/DataSummary/{DataSummaryTypes/helpers → helpers}/get-value-from-array.test.js +1 -1
  48. package/tests/unit/src/components/DataSummary/helpers/mocks.js +88 -0
  49. package/tests/unit/src/components/DataSummary/{DataSummaryTypes/helpers → helpers}/strip-summary-props-content.test.js +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,47 @@
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.107.0-alpha.0](https://github.com/thebyte9/blaze/compare/v0.106.2...v0.107.0-alpha.0) (2021-09-22)
7
+
8
+
9
+ ### Features
10
+
11
+ * added loopableProps to dataSummary ([#3108](https://github.com/thebyte9/blaze/issues/3108)) ([3398fbb](https://github.com/thebyte9/blaze/commit/3398fbbdee3e9146702292bfcf0599de3c6161c3))
12
+
13
+
14
+
15
+
16
+
17
+ ## [0.106.2](https://github.com/thebyte9/blaze/compare/v0.106.1...v0.106.2) (2021-09-22)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * do not reset lightbox images when lightbox open ([#3107](https://github.com/thebyte9/blaze/issues/3107)) ([8900d75](https://github.com/thebyte9/blaze/commit/8900d759db0c216728dfd75e7d918a4e0bc68bd3))
23
+
24
+
25
+
26
+
27
+
28
+ ## [0.106.1](https://github.com/thebyte9/blaze/compare/v0.106.0...v0.106.1) (2021-09-21)
29
+
30
+
31
+ ### Bug Fixes
32
+
33
+ * do not render cards if updatedFilters is falsey ([#3106](https://github.com/thebyte9/blaze/issues/3106)) ([c2a5456](https://github.com/thebyte9/blaze/commit/c2a54561149017253fa6d6dd2311beb1e5ad9fe4))
34
+
35
+
36
+
37
+
38
+
39
+ # [0.106.0](https://github.com/thebyte9/blaze/compare/v0.106.0-alpha.0...v0.106.0) (2021-09-20)
40
+
41
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
42
+
43
+
44
+
45
+
46
+
6
47
  # [0.106.0-alpha.0](https://github.com/thebyte9/blaze/compare/v0.105.1...v0.106.0-alpha.0) (2021-09-17)
7
48
 
8
49
 
@@ -144,7 +144,7 @@ var CardRender = function CardRender(_ref) {
144
144
  schemaLoading = _useGetEntitySchemasA3.loading,
145
145
  schemaError = _useGetEntitySchemasA3.error;
146
146
 
147
- var updatedFilterBy = (0, _helpers.getUpdatedFilterBy)(inheritedFilters, entityData, currentSchema, filterEntitySchema, itemId, variableProps) || [];
147
+ var updatedFilterBy = (0, _helpers.getUpdatedFilterBy)(inheritedFilters, entityData, currentSchema, filterEntitySchema, itemId, variableProps);
148
148
 
149
149
  var _filterQuerySetup = (0, _helpers2.filterQuerySetup)({
150
150
  getEntitySchemas: Object.values(requiredSchema),
@@ -162,7 +162,7 @@ var CardRender = function CardRender(_ref) {
162
162
 
163
163
  var _useQuery2 = (0, _reactApollo.useQuery)(action, {
164
164
  variables: variables,
165
- skip: (0, _helpers2.shouldReturn)(_loading, _load, schemaLoading, _error, _err, schemaError)
165
+ skip: (0, _helpers2.shouldReturn)(!updatedFilterBy, _loading, _load, schemaLoading, _error, _err, schemaError)
166
166
  }),
167
167
  data = _useQuery2.data,
168
168
  cardsError = _useQuery2.error,
@@ -179,6 +179,7 @@ var CardRender = function CardRender(_ref) {
179
179
 
180
180
  var isLoading = (0, _helpers2.shouldReturn)(_loading, _load, schemaLoading, cardsLoading, imagesLoading);
181
181
  var hasError = (0, _helpers2.shouldReturn)(_error, _err, schemaError);
182
+ if (!updatedFilterBy) return null;
182
183
  if (isLoading) return '';
183
184
  if (hasError) return null;
184
185
  if (cardsError) return cardsError.message;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Card/CardRender.js"],"names":["CardContainer","CardRender","entity","entityFields","itemsToDisplay","children","variableProps","parent","itemId","itemEntity","filterBy","filterByProperty","sortby","operator","filterOperator","AND","itemEntityUpdated","data","mainSchemas","_loading","loading","_error","error","MainContext","isPreview","entityType","docType","getEntitySchemas","Object","values","getAction","queryProps","inheritedFilters","currentSchema","filterEntitySchema","entitySameAsCurrentItemEntity","action","filterEntityRelations","variables","id","skip","entityData","_err","_load","requiredSchema","schemaLoading","schemaError","updatedFilterBy","limit","cardsError","cardsLoading","imageIds","map","imageId","filter","Boolean","imagesData","imagesLoading","isLoading","hasError","message","cardData","SEARCH_PUBLISHED_CONTENT","results","length","orderedData","name","regularChildren","gtmChildren","updatedCards","propTypes","PropTypes","oneOfType","arrayOf","node","string","isRequired","array","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from 'react-apollo';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { SEARCH_PUBLISHED_CONTENT, AND } from '../../constants';\nimport { useGetEntitySchemasAsObj, useGetImages } from '../../hooks';\nimport {\n getUpdatedFilterBy,\n getEntityData,\n sortResponseData,\n getUnpublishedEntityName,\n renderChildren,\n splitChildren,\n removeExtraItems,\n getRequiredSchemas,\n appendImages\n} from '../../helpers';\nimport { filtersSetup, filterQuerySetup, shouldSkipSingleQuery, shouldReturn } from './helpers';\n\nconst CardContainer = dynamic(() => import('./CardContainer'));\n\nconst CardRender = ({ entity, entityFields, itemsToDisplay, children, ...variableProps }) => {\n const {\n parent: { itemId, itemEntity },\n filterBy = [],\n filterByProperty = [],\n sortby = [],\n operator: filterOperator = AND\n } = variableProps;\n\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const { data: mainSchemas = {}, loading: _loading, error: _error } = useGetEntitySchemasAsObj([\n itemEntityUpdated,\n entity\n ]);\n\n const { isPreview } = useContext(MainContext);\n const { entityType, docType } = getEntityData(entity);\n const {\n getAction,\n queryProps,\n inheritedFilters,\n currentSchema,\n filterEntitySchema,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n } = filtersSetup({\n entityFields,\n entityType,\n filterBy,\n filterByProperty,\n entity,\n getEntitySchemas: Object.values(mainSchemas),\n isPreview,\n itemEntityUpdated\n });\n const { data: { entityData = {} } = {}, error: _err, loading: _load } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: itemId },\n skip: shouldSkipSingleQuery(_loading, getAction, queryProps)\n }\n );\n\n const {\n data: requiredSchema = {},\n loading: schemaLoading,\n error: schemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortby], filterEntitySchema),\n _loading\n );\n\n const updatedFilterBy =\n getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n variableProps\n ) || [];\n\n const { limit, variables } = filterQuerySetup({\n getEntitySchemas: Object.values(requiredSchema),\n entity,\n updatedFilterBy,\n variableProps,\n docType,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay,\n entitySameAsCurrentItemEntity\n });\n\n const { data, error: cardsError, loading: cardsLoading } = useQuery(action, {\n variables,\n skip: shouldReturn(_loading, _load, schemaLoading, _error, _err, schemaError)\n });\n const imageIds = itemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n const isLoading = shouldReturn(_loading, _load, schemaLoading, cardsLoading, imagesLoading);\n const hasError = shouldReturn(_error, _err, schemaError);\n\n if (isLoading) return '';\n if (hasError) return null;\n if (cardsError) return cardsError.message;\n\n let { results: cardData } = data[SEARCH_PUBLISHED_CONTENT];\n if (!cardData || !cardData.length) return null;\n cardData = entitySameAsCurrentItemEntity ? removeExtraItems(cardData, limit, itemId) : cardData;\n const orderedData = sortResponseData(cardData, itemsToDisplay);\n const { regularChildren, gtmChildren } = splitChildren(children, cardData, entity, {\n name: variableProps.name\n });\n const updatedCards = appendImages(imagesData, orderedData, itemsToDisplay);\n\n return (\n <>\n {gtmChildren && renderChildren(gtmChildren)}\n <CardContainer\n cardData={updatedCards}\n entity={entity}\n gtmChildren={gtmChildren}\n cardChildren={regularChildren}\n {...variableProps}\n />\n </>\n );\n};\n\nCardRender.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n entity: PropTypes.string.isRequired,\n entityFields: PropTypes.string.isRequired,\n itemsToDisplay: PropTypes.array\n};\n\nCardRender.defaultProps = {\n children: [],\n itemsToDisplay: []\n};\n\nexport default CardRender;\n"],"file":"CardRender.js"}
1
+ {"version":3,"sources":["../../../src/components/Card/CardRender.js"],"names":["CardContainer","CardRender","entity","entityFields","itemsToDisplay","children","variableProps","parent","itemId","itemEntity","filterBy","filterByProperty","sortby","operator","filterOperator","AND","itemEntityUpdated","data","mainSchemas","_loading","loading","_error","error","MainContext","isPreview","entityType","docType","getEntitySchemas","Object","values","getAction","queryProps","inheritedFilters","currentSchema","filterEntitySchema","entitySameAsCurrentItemEntity","action","filterEntityRelations","variables","id","skip","entityData","_err","_load","requiredSchema","schemaLoading","schemaError","updatedFilterBy","limit","cardsError","cardsLoading","imageIds","map","imageId","filter","Boolean","imagesData","imagesLoading","isLoading","hasError","message","cardData","SEARCH_PUBLISHED_CONTENT","results","length","orderedData","name","regularChildren","gtmChildren","updatedCards","propTypes","PropTypes","oneOfType","arrayOf","node","string","isRequired","array","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAWA;;;;;;;;AAEA,IAAMA,aAAa,GAAG,yBAAQ;AAAA;AAAA,2CAAa,iBAAb;AAAA;AAAA,CAAR,CAAtB;;AAEA,IAAMC,UAAU,GAAG,SAAbA,UAAa,OAA0E;AAAA,MAAvEC,MAAuE,QAAvEA,MAAuE;AAAA,MAA/DC,YAA+D,QAA/DA,YAA+D;AAAA,MAAjDC,cAAiD,QAAjDA,cAAiD;AAAA,MAAjCC,QAAiC,QAAjCA,QAAiC;AAAA,MAApBC,aAAoB;AAC3F,8BAMIA,aANJ,CACEC,MADF;AAAA,MACYC,MADZ,yBACYA,MADZ;AAAA,MACoBC,UADpB,yBACoBA,UADpB;AAAA,8BAMIH,aANJ,CAEEI,QAFF;AAAA,MAEEA,QAFF,sCAEa,EAFb;AAAA,+BAMIJ,aANJ,CAGEK,gBAHF;AAAA,MAGEA,gBAHF,uCAGqB,EAHrB;AAAA,8BAMIL,aANJ,CAIEM,MAJF;AAAA,MAIEA,MAJF,sCAIW,EAJX;AAAA,8BAMIN,aANJ,CAKEO,QALF;AAAA,MAKYC,cALZ,sCAK6BC,cAL7B;AAQA,MAAMC,iBAAiB,GAAG,uCAAyBP,UAAzB,CAA1B;;AACA,8BAAqE,qCAAyB,CAC5FO,iBAD4F,EAE5Fd,MAF4F,CAAzB,CAArE;AAAA,qDAAQe,IAAR;AAAA,MAAcC,WAAd,uCAA4B,EAA5B;AAAA,MAAyCC,QAAzC,yBAAgCC,OAAhC;AAAA,MAA0DC,MAA1D,yBAAmDC,KAAnD;;AAKA,oBAAsB,uBAAWC,6BAAX,CAAtB;AAAA,MAAQC,SAAR,eAAQA,SAAR;;AACA,uBAAgC,4BAActB,MAAd,CAAhC;AAAA,MAAQuB,UAAR,kBAAQA,UAAR;AAAA,MAAoBC,OAApB,kBAAoBA,OAApB;;AACA,sBASI,4BAAa;AACfvB,IAAAA,YAAY,EAAZA,YADe;AAEfsB,IAAAA,UAAU,EAAVA,UAFe;AAGff,IAAAA,QAAQ,EAARA,QAHe;AAIfC,IAAAA,gBAAgB,EAAhBA,gBAJe;AAKfT,IAAAA,MAAM,EAANA,MALe;AAMfyB,IAAAA,gBAAgB,EAAEC,MAAM,CAACC,MAAP,CAAcX,WAAd,CANH;AAOfM,IAAAA,SAAS,EAATA,SAPe;AAQfR,IAAAA,iBAAiB,EAAjBA;AARe,GAAb,CATJ;AAAA,MACEc,SADF,iBACEA,SADF;AAAA,MAEEC,UAFF,iBAEEA,UAFF;AAAA,MAGEC,gBAHF,iBAGEA,gBAHF;AAAA,MAIEC,aAJF,iBAIEA,aAJF;AAAA,MAKEC,kBALF,iBAKEA,kBALF;AAAA,MAMEC,6BANF,iBAMEA,6BANF;AAAA,MAOEC,MAPF,iBAOEA,MAPF;AAAA,MAQEC,qBARF,iBAQEA,qBARF;;AAmBA,kBAAwE,2BACtE,oCAAwBP,SAAxB,EAAmCC,UAAnC,CADsE,EAEtE;AACEO,IAAAA,SAAS,EAAE;AAAEC,MAAAA,EAAE,EAAE/B;AAAN,KADb;AAEEgC,IAAAA,IAAI,EAAE,qCAAsBrB,QAAtB,EAAgCW,SAAhC,EAA2CC,UAA3C;AAFR,GAFsE,CAAxE;AAAA,iCAAQd,IAAR;;AAAA,+CAAoC,EAApC;AAAA,6CAAgBwB,UAAhB;AAAA,MAAgBA,UAAhB,sCAA6B,EAA7B;AAAA,MAA+CC,IAA/C,aAAwCpB,KAAxC;AAAA,MAA8DqB,KAA9D,aAAqDvB,OAArD;;AAQA,+BAII,qCACF,+EAAuBT,gBAAvB,uCAA4CC,MAA5C,IAAqDsB,kBAArD,CADE,EAEFf,QAFE,CAJJ;AAAA,sDACEF,IADF;AAAA,MACQ2B,cADR,uCACyB,EADzB;AAAA,MAEWC,aAFX,0BAEEzB,OAFF;AAAA,MAGS0B,WAHT,0BAGExB,KAHF;;AASA,MAAMyB,eAAe,GAAG,iCACtBf,gBADsB,EAEtBS,UAFsB,EAGtBR,aAHsB,EAItBC,kBAJsB,EAKtB1B,MALsB,EAMtBF,aANsB,CAAxB;;AASA,0BAA6B,gCAAiB;AAC5CqB,IAAAA,gBAAgB,EAAEC,MAAM,CAACC,MAAP,CAAce,cAAd,CAD0B;AAE5C1C,IAAAA,MAAM,EAANA,MAF4C;AAG5C6C,IAAAA,eAAe,EAAfA,eAH4C;AAI5CzC,IAAAA,aAAa,EAAbA,aAJ4C;AAK5CoB,IAAAA,OAAO,EAAPA,OAL4C;AAM5CZ,IAAAA,cAAc,EAAdA,cAN4C;AAO5CuB,IAAAA,qBAAqB,EAArBA,qBAP4C;AAQ5CjC,IAAAA,cAAc,EAAdA,cAR4C;AAS5C+B,IAAAA,6BAA6B,EAA7BA;AAT4C,GAAjB,CAA7B;AAAA,MAAQa,KAAR,qBAAQA,KAAR;AAAA,MAAeV,SAAf,qBAAeA,SAAf;;AAYA,mBAA2D,2BAASF,MAAT,EAAiB;AAC1EE,IAAAA,SAAS,EAATA,SAD0E;AAE1EE,IAAAA,IAAI,EAAE,4BAAa,CAACO,eAAd,EAA+B5B,QAA/B,EAAyCwB,KAAzC,EAAgDE,aAAhD,EAA+DxB,MAA/D,EAAuEqB,IAAvE,EAA6EI,WAA7E;AAFoE,GAAjB,CAA3D;AAAA,MAAQ7B,IAAR,cAAQA,IAAR;AAAA,MAAqBgC,UAArB,cAAc3B,KAAd;AAAA,MAA0C4B,YAA1C,cAAiC9B,OAAjC;;AAIA,MAAM+B,QAAQ,GAAG/C,cAAc,CAACgD,GAAf,CAAmB;AAAA,QAAGC,OAAH,SAAGA,OAAH;AAAA,WAAiBA,OAAjB;AAAA,GAAnB,EAA6CC,MAA7C,CAAoDC,OAApD,CAAjB;;AACA,sBAAqD,yBAAaJ,QAAb,EAAuB,IAAvB,CAArD;AAAA,MAAcK,UAAd,iBAAQvC,IAAR;AAAA,MAAmCwC,aAAnC,iBAA0BrC,OAA1B;;AACA,MAAMsC,SAAS,GAAG,4BAAavC,QAAb,EAAuBwB,KAAvB,EAA8BE,aAA9B,EAA6CK,YAA7C,EAA2DO,aAA3D,CAAlB;AACA,MAAME,QAAQ,GAAG,4BAAatC,MAAb,EAAqBqB,IAArB,EAA2BI,WAA3B,CAAjB;AAEA,MAAI,CAACC,eAAL,EAAsB,OAAO,IAAP;AACtB,MAAIW,SAAJ,EAAe,OAAO,EAAP;AACf,MAAIC,QAAJ,EAAc,OAAO,IAAP;AACd,MAAIV,UAAJ,EAAgB,OAAOA,UAAU,CAACW,OAAlB;AAEhB,MAAeC,QAAf,GAA4B5C,IAAI,CAAC6C,mCAAD,CAAhC,CAAMC,OAAN;AACA,MAAI,CAACF,QAAD,IAAa,CAACA,QAAQ,CAACG,MAA3B,EAAmC,OAAO,IAAP;AACnCH,EAAAA,QAAQ,GAAG1B,6BAA6B,GAAG,+BAAiB0B,QAAjB,EAA2Bb,KAA3B,EAAkCxC,MAAlC,CAAH,GAA+CqD,QAAvF;AACA,MAAMI,WAAW,GAAG,+BAAiBJ,QAAjB,EAA2BzD,cAA3B,CAApB;;AACA,uBAAyC,4BAAcC,QAAd,EAAwBwD,QAAxB,EAAkC3D,MAAlC,EAA0C;AACjFgE,IAAAA,IAAI,EAAE5D,aAAa,CAAC4D;AAD6D,GAA1C,CAAzC;AAAA,MAAQC,eAAR,kBAAQA,eAAR;AAAA,MAAyBC,WAAzB,kBAAyBA,WAAzB;;AAGA,MAAMC,YAAY,GAAG,2BAAab,UAAb,EAAyBS,WAAzB,EAAsC7D,cAAtC,CAArB;AAEA,sBACE,kEACGgE,WAAW,IAAI,6BAAeA,WAAf,CADlB,eAEE,gCAAC,aAAD;AACE,IAAA,QAAQ,EAAEC,YADZ;AAEE,IAAA,MAAM,EAAEnE,MAFV;AAGE,IAAA,WAAW,EAAEkE,WAHf;AAIE,IAAA,YAAY,EAAED;AAJhB,KAKM7D,aALN,EAFF,CADF;AAYD,CA7GD;;AA+GAL,UAAU,CAACqE,SAAX,GAAuB;AACrBjE,EAAAA,QAAQ,EAAEkE,sBAAUC,SAAV,CAAoB,CAACD,sBAAUE,OAAV,CAAkBF,sBAAUG,IAA5B,CAAD,EAAoCH,sBAAUG,IAA9C,CAApB,CADW;AAErBxE,EAAAA,MAAM,EAAEqE,sBAAUI,MAAV,CAAiBC,UAFJ;AAGrBzE,EAAAA,YAAY,EAAEoE,sBAAUI,MAAV,CAAiBC,UAHV;AAIrBxE,EAAAA,cAAc,EAAEmE,sBAAUM;AAJL,CAAvB;AAOA5E,UAAU,CAAC6E,YAAX,GAA0B;AACxBzE,EAAAA,QAAQ,EAAE,EADc;AAExBD,EAAAA,cAAc,EAAE;AAFQ,CAA1B;eAKeH,U","sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from 'react-apollo';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { SEARCH_PUBLISHED_CONTENT, AND } from '../../constants';\nimport { useGetEntitySchemasAsObj, useGetImages } from '../../hooks';\nimport {\n getUpdatedFilterBy,\n getEntityData,\n sortResponseData,\n getUnpublishedEntityName,\n renderChildren,\n splitChildren,\n removeExtraItems,\n getRequiredSchemas,\n appendImages\n} from '../../helpers';\nimport { filtersSetup, filterQuerySetup, shouldSkipSingleQuery, shouldReturn } from './helpers';\n\nconst CardContainer = dynamic(() => import('./CardContainer'));\n\nconst CardRender = ({ entity, entityFields, itemsToDisplay, children, ...variableProps }) => {\n const {\n parent: { itemId, itemEntity },\n filterBy = [],\n filterByProperty = [],\n sortby = [],\n operator: filterOperator = AND\n } = variableProps;\n\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const { data: mainSchemas = {}, loading: _loading, error: _error } = useGetEntitySchemasAsObj([\n itemEntityUpdated,\n entity\n ]);\n\n const { isPreview } = useContext(MainContext);\n const { entityType, docType } = getEntityData(entity);\n const {\n getAction,\n queryProps,\n inheritedFilters,\n currentSchema,\n filterEntitySchema,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n } = filtersSetup({\n entityFields,\n entityType,\n filterBy,\n filterByProperty,\n entity,\n getEntitySchemas: Object.values(mainSchemas),\n isPreview,\n itemEntityUpdated\n });\n const { data: { entityData = {} } = {}, error: _err, loading: _load } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: itemId },\n skip: shouldSkipSingleQuery(_loading, getAction, queryProps)\n }\n );\n\n const {\n data: requiredSchema = {},\n loading: schemaLoading,\n error: schemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortby], filterEntitySchema),\n _loading\n );\n\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n variableProps\n );\n\n const { limit, variables } = filterQuerySetup({\n getEntitySchemas: Object.values(requiredSchema),\n entity,\n updatedFilterBy,\n variableProps,\n docType,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay,\n entitySameAsCurrentItemEntity\n });\n\n const { data, error: cardsError, loading: cardsLoading } = useQuery(action, {\n variables,\n skip: shouldReturn(!updatedFilterBy, _loading, _load, schemaLoading, _error, _err, schemaError)\n });\n const imageIds = itemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n const isLoading = shouldReturn(_loading, _load, schemaLoading, cardsLoading, imagesLoading);\n const hasError = shouldReturn(_error, _err, schemaError);\n\n if (!updatedFilterBy) return null;\n if (isLoading) return '';\n if (hasError) return null;\n if (cardsError) return cardsError.message;\n\n let { results: cardData } = data[SEARCH_PUBLISHED_CONTENT];\n if (!cardData || !cardData.length) return null;\n cardData = entitySameAsCurrentItemEntity ? removeExtraItems(cardData, limit, itemId) : cardData;\n const orderedData = sortResponseData(cardData, itemsToDisplay);\n const { regularChildren, gtmChildren } = splitChildren(children, cardData, entity, {\n name: variableProps.name\n });\n const updatedCards = appendImages(imagesData, orderedData, itemsToDisplay);\n\n return (\n <>\n {gtmChildren && renderChildren(gtmChildren)}\n <CardContainer\n cardData={updatedCards}\n entity={entity}\n gtmChildren={gtmChildren}\n cardChildren={regularChildren}\n {...variableProps}\n />\n </>\n );\n};\n\nCardRender.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n entity: PropTypes.string.isRequired,\n entityFields: PropTypes.string.isRequired,\n itemsToDisplay: PropTypes.array\n};\n\nCardRender.defaultProps = {\n children: [],\n itemsToDisplay: []\n};\n\nexport default CardRender;\n"],"file":"CardRender.js"}
@@ -41,7 +41,7 @@ var _helpers2 = require("./helpers");
41
41
 
42
42
  var _DataSummaryRender = _interopRequireDefault(require("./DataSummaryRender"));
43
43
 
44
- var _excluded = ["entity", "dataRecordId", "propsToDisplay", "type", "useSelectedEntity", "elementTitle", "modifier", "headingStyle"];
44
+ var _excluded = ["entity", "dataRecordId", "propsToDisplay", "type", "useSelectedEntity", "elementTitle", "modifier", "headingStyle", "loopProperties", "loopLimit"];
45
45
 
46
46
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
47
47
 
@@ -56,6 +56,8 @@ var DataSummaryFactory = function DataSummaryFactory(_ref) {
56
56
  elementTitle = _ref.elementTitle,
57
57
  modifier = _ref.modifier,
58
58
  headingStyle = _ref.headingStyle,
59
+ loopProperties = _ref.loopProperties,
60
+ loopLimit = _ref.loopLimit,
59
61
  dataSummaryProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
60
62
  var entityForQuery = useSelectedEntity ? entity : dataSummaryProps.parent.itemEntity;
61
63
 
@@ -74,6 +76,7 @@ var DataSummaryFactory = function DataSummaryFactory(_ref) {
74
76
  if (loading) return '';
75
77
  if (error) return error.message;
76
78
  if (!data) return null;
79
+ if (!propsToDisplay || !propsToDisplay.length) return null;
77
80
  var propsToDisplayValues = (0, _helpers.checkPropsToUse)(propsToDisplay);
78
81
  var propsQueryString = (0, _helpers.buildPropsQuery)(data, propsToDisplayValues);
79
82
  var dataSummaryQuery = (0, _helpers2.getDataSummaryQuery)(data, isPreview, propsQueryString);
@@ -81,6 +84,8 @@ var DataSummaryFactory = function DataSummaryFactory(_ref) {
81
84
  return /*#__PURE__*/_react["default"].createElement(_DataSummaryRender["default"], {
82
85
  recordId: recordId,
83
86
  propsToDisplay: propsToDisplay,
87
+ loopProperties: loopProperties,
88
+ loopLimit: loopLimit,
84
89
  query: dataSummaryQuery,
85
90
  type: type,
86
91
  elementTitle: elementTitle,
@@ -97,7 +102,9 @@ DataSummaryFactory.propTypes = {
97
102
  useSelectedEntity: _propTypes["default"].bool,
98
103
  elementTitle: _propTypes["default"].string,
99
104
  modifier: _propTypes["default"].string,
100
- headingStyle: _propTypes["default"].string
105
+ headingStyle: _propTypes["default"].string,
106
+ loopProperties: _propTypes["default"].array,
107
+ loopLimit: _propTypes["default"].number
101
108
  };
102
109
  DataSummaryFactory.defaultProps = {
103
110
  type: 'text',
@@ -107,7 +114,9 @@ DataSummaryFactory.defaultProps = {
107
114
  entity: '',
108
115
  elementTitle: '',
109
116
  modifier: '',
110
- headingStyle: 'h2'
117
+ headingStyle: 'h2',
118
+ loopProperties: [],
119
+ loopLimit: 0
111
120
  };
112
121
  var _default = DataSummaryFactory;
113
122
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/DataSummary/DataSummaryFactory.js"],"names":["DataSummaryFactory","entity","dataRecordId","propsToDisplay","type","useSelectedEntity","elementTitle","modifier","headingStyle","dataSummaryProps","entityForQuery","parent","itemEntity","getSingleEntitySchema","variables","id","data","error","loading","MainContext","isPreview","message","propsToDisplayValues","propsQueryString","dataSummaryQuery","recordId","itemId","propTypes","PropTypes","string","array","bool","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,OAUrB;AAAA,MATJC,MASI,QATJA,MASI;AAAA,MARJC,YAQI,QARJA,YAQI;AAAA,MAPJC,cAOI,QAPJA,cAOI;AAAA,MANJC,IAMI,QANJA,IAMI;AAAA,MALJC,iBAKI,QALJA,iBAKI;AAAA,MAJJC,YAII,QAJJA,YAII;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,YAEI,QAFJA,YAEI;AAAA,MADDC,gBACC;AACJ,MAAMC,cAAc,GAAGL,iBAAiB,GAAGJ,MAAH,GAAYQ,gBAAgB,CAACE,MAAjB,CAAwBC,UAA5E;;AACA,kBAAiC,0BAASC,4BAAT,EAAgC;AAC/DC,IAAAA,SAAS,EAAE;AAAEC,MAAAA,EAAE,EAAEL;AAAN;AADoD,GAAhC,CAAjC;AAAA,MAAQM,IAAR,aAAQA,IAAR;AAAA,MAAcC,KAAd,aAAcA,KAAd;AAAA,MAAqBC,OAArB,aAAqBA,OAArB;;AAGA,oBAAsB,uBAAWC,6BAAX,CAAtB;AAAA,MAAQC,SAAR,eAAQA,SAAR;;AAEA,MAAIF,OAAJ,EAAa,OAAO,EAAP;AACb,MAAID,KAAJ,EAAW,OAAOA,KAAK,CAACI,OAAb;AACX,MAAI,CAACL,IAAL,EAAW,OAAO,IAAP;AAEX,MAAMM,oBAAoB,GAAG,8BAAgBnB,cAAhB,CAA7B;AACA,MAAMoB,gBAAgB,GAAG,8BAAgBP,IAAhB,EAAsBM,oBAAtB,CAAzB;AACA,MAAME,gBAAgB,GAAG,mCAAoBR,IAApB,EAA0BI,SAA1B,EAAqCG,gBAArC,CAAzB;AACA,MAAME,QAAQ,GAAGvB,YAAY,CAAC,CAAD,CAAZ,IAAmBO,gBAAgB,CAACE,MAAjB,CAAwBe,MAA5D;AAEA,sBACE,gCAAC,6BAAD;AACE,IAAA,QAAQ,EAAED,QADZ;AAEE,IAAA,cAAc,EAAEtB,cAFlB;AAGE,IAAA,KAAK,EAAEqB,gBAHT;AAIE,IAAA,IAAI,EAAEpB,IAJR;AAKE,IAAA,YAAY,EAAEE,YALhB;AAME,IAAA,QAAQ,EAAEC,QANZ;AAOE,IAAA,OAAO,EAAEC;AAPX,IADF;AAWD,CArCD;;AAuCAR,kBAAkB,CAAC2B,SAAnB,GAA+B;AAC7BvB,EAAAA,IAAI,EAAEwB,sBAAUC,MADa;AAE7B3B,EAAAA,YAAY,EAAE0B,sBAAUE,KAFK;AAG7B3B,EAAAA,cAAc,EAAEyB,sBAAUE,KAHG;AAI7B7B,EAAAA,MAAM,EAAE2B,sBAAUC,MAJW;AAK7BxB,EAAAA,iBAAiB,EAAEuB,sBAAUG,IALA;AAM7BzB,EAAAA,YAAY,EAAEsB,sBAAUC,MANK;AAO7BtB,EAAAA,QAAQ,EAAEqB,sBAAUC,MAPS;AAQ7BrB,EAAAA,YAAY,EAAEoB,sBAAUC;AARK,CAA/B;AAWA7B,kBAAkB,CAACgC,YAAnB,GAAkC;AAChC5B,EAAAA,IAAI,EAAE,MAD0B;AAEhCF,EAAAA,YAAY,EAAE,EAFkB;AAGhCC,EAAAA,cAAc,EAAE,EAHgB;AAIhCE,EAAAA,iBAAiB,EAAE,IAJa;AAKhCJ,EAAAA,MAAM,EAAE,EALwB;AAMhCK,EAAAA,YAAY,EAAE,EANkB;AAOhCC,EAAAA,QAAQ,EAAE,EAPsB;AAQhCC,EAAAA,YAAY,EAAE;AARkB,CAAlC;eAWeR,kB","sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getSingleEntitySchema } from '../../application/query';\nimport { buildPropsQuery, checkPropsToUse } from '../../helpers';\nimport { getDataSummaryQuery } 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 ...dataSummaryProps\n}) => {\n const entityForQuery = useSelectedEntity ? entity : dataSummaryProps.parent.itemEntity;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entityForQuery }\n });\n const { isPreview } = useContext(MainContext);\n\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const propsQueryString = buildPropsQuery(data, propsToDisplayValues);\n const dataSummaryQuery = getDataSummaryQuery(data, isPreview, propsQueryString);\n const recordId = dataRecordId[0] || dataSummaryProps.parent.itemId;\n\n return (\n <DataSummaryRender\n recordId={recordId}\n propsToDisplay={propsToDisplay}\n query={dataSummaryQuery}\n type={type}\n elementTitle={elementTitle}\n modifier={modifier}\n htmlTag={headingStyle}\n />\n );\n};\n\nDataSummaryFactory.propTypes = {\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};\n\nDataSummaryFactory.defaultProps = {\n type: 'text',\n dataRecordId: [],\n propsToDisplay: [],\n useSelectedEntity: true,\n entity: '',\n elementTitle: '',\n modifier: '',\n headingStyle: 'h2'\n};\n\nexport default DataSummaryFactory;\n"],"file":"DataSummaryFactory.js"}
1
+ {"version":3,"sources":["../../../src/components/DataSummary/DataSummaryFactory.js"],"names":["DataSummaryFactory","entity","dataRecordId","propsToDisplay","type","useSelectedEntity","elementTitle","modifier","headingStyle","loopProperties","loopLimit","dataSummaryProps","entityForQuery","parent","itemEntity","getSingleEntitySchema","variables","id","data","error","loading","MainContext","isPreview","message","length","propsToDisplayValues","propsQueryString","dataSummaryQuery","recordId","itemId","propTypes","PropTypes","string","array","bool","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { getSingleEntitySchema } from '../../application/query';\nimport { buildPropsQuery, checkPropsToUse } from '../../helpers';\nimport { getDataSummaryQuery } 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 ...dataSummaryProps\n}) => {\n const entityForQuery = useSelectedEntity ? entity : dataSummaryProps.parent.itemEntity;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entityForQuery }\n });\n const { isPreview } = useContext(MainContext);\n\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 propsQueryString = buildPropsQuery(data, propsToDisplayValues);\n const dataSummaryQuery = getDataSummaryQuery(data, isPreview, propsQueryString);\n const recordId = dataRecordId[0] || dataSummaryProps.parent.itemId;\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 />\n );\n};\n\nDataSummaryFactory.propTypes = {\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};\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};\n\nexport default DataSummaryFactory;\n"],"file":"DataSummaryFactory.js"}
@@ -23,7 +23,7 @@ var _utils = require("../../utils");
23
23
 
24
24
  var _helpers = require("./helpers");
25
25
 
26
- var _excluded = ["type", "htmlTag", "recordId", "query", "propsToDisplay", "elementTitle"];
26
+ var _excluded = ["type", "htmlTag", "recordId", "query", "propsToDisplay", "elementTitle", "loopProperties", "loopLimit"];
27
27
 
28
28
  var DataSummaryRender = function DataSummaryRender(_ref) {
29
29
  var type = _ref.type,
@@ -32,6 +32,8 @@ var DataSummaryRender = function DataSummaryRender(_ref) {
32
32
  query = _ref.query,
33
33
  propsToDisplay = _ref.propsToDisplay,
34
34
  elementTitle = _ref.elementTitle,
35
+ loopProperties = _ref.loopProperties,
36
+ loopLimit = _ref.loopLimit,
35
37
  otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
36
38
 
37
39
  var _useQuery = (0, _reactHooks.useQuery)(query, {
@@ -47,8 +49,9 @@ var DataSummaryRender = function DataSummaryRender(_ref) {
47
49
  if (error) return error.message;
48
50
  if (!data || !data.entityData) return null;
49
51
  var entityData = data.entityData;
52
+ var shouldLoop = loopProperties && loopProperties.length;
50
53
  var modifier = (0, _utils.getClassModifiers)('list', otherProps);
51
- var summaryPropsWithContent = (0, _helpers.buildPropsToDisplayWithContent)(entityData, propsToDisplay);
54
+ var summaryPropsWithContent = shouldLoop ? (0, _helpers.buildLoopPropsContent)(loopProperties, propsToDisplay, loopLimit, entityData) : (0, _helpers.buildPropsToDisplayWithContent)(entityData, propsToDisplay);
52
55
  var propsToDisplayModifiers = (0, _utils.getPropsToDisplayModifiers)(propsToDisplay);
53
56
  var summaryPropsWithCleanContent = (0, _helpers.stripSummaryPropsContent)(propsToDisplay, summaryPropsWithContent);
54
57
  var SummaryComponent = _DataSummaryTypes.summaryComponents[type];
@@ -68,7 +71,9 @@ DataSummaryRender.propTypes = {
68
71
  recordId: _propTypes["default"].string,
69
72
  propsToDisplay: _propTypes["default"].array,
70
73
  elementTitle: _propTypes["default"].string,
71
- htmlTag: _propTypes["default"].string
74
+ htmlTag: _propTypes["default"].string,
75
+ loopProperties: _propTypes["default"].array,
76
+ loopLimit: _propTypes["default"].number
72
77
  };
73
78
  DataSummaryRender.defaultProps = {
74
79
  type: 'text',
@@ -76,7 +81,9 @@ DataSummaryRender.defaultProps = {
76
81
  recordId: '',
77
82
  propsToDisplay: [],
78
83
  elementTitle: '',
79
- htmlTag: 'h2'
84
+ htmlTag: 'h2',
85
+ loopProperties: [],
86
+ loopLimit: 0
80
87
  };
81
88
  var _default = DataSummaryRender;
82
89
  exports["default"] = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/DataSummary/DataSummaryRender.js"],"names":["DataSummaryRender","type","htmlTag","recordId","query","propsToDisplay","elementTitle","otherProps","variables","id","data","error","loading","message","entityData","modifier","summaryPropsWithContent","propsToDisplayModifiers","summaryPropsWithCleanContent","SummaryComponent","summaryComponents","length","propTypes","PropTypes","string","object","array","defaultProps"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAQpB;AAAA,MAPJC,IAOI,QAPJA,IAOI;AAAA,MANJC,OAMI,QANJA,OAMI;AAAA,MALJC,QAKI,QALJA,QAKI;AAAA,MAJJC,KAII,QAJJA,KAII;AAAA,MAHJC,cAGI,QAHJA,cAGI;AAAA,MAFJC,YAEI,QAFJA,YAEI;AAAA,MADDC,UACC;;AACJ,kBAAiC,0BAASH,KAAT,EAAgB;AAC/CI,IAAAA,SAAS,EAAE;AAAEC,MAAAA,EAAE,EAAEN;AAAN;AADoC,GAAhB,CAAjC;AAAA,MAAQO,IAAR,aAAQA,IAAR;AAAA,MAAcC,KAAd,aAAcA,KAAd;AAAA,MAAqBC,OAArB,aAAqBA,OAArB;;AAIA,MAAIA,OAAJ,EAAa,OAAO,EAAP;AACb,MAAID,KAAJ,EAAW,OAAOA,KAAK,CAACE,OAAb;AACX,MAAI,CAACH,IAAD,IAAS,CAACA,IAAI,CAACI,UAAnB,EAA+B,OAAO,IAAP;AAC/B,MAAQA,UAAR,GAAuBJ,IAAvB,CAAQI,UAAR;AACA,MAAMC,QAAQ,GAAG,8BAAkB,MAAlB,EAA0BR,UAA1B,CAAjB;AACA,MAAMS,uBAAuB,GAAG,6CAA+BF,UAA/B,EAA2CT,cAA3C,CAAhC;AACA,MAAMY,uBAAuB,GAAG,uCAA2BZ,cAA3B,CAAhC;AACA,MAAMa,4BAA4B,GAAG,uCACnCb,cADmC,EAEnCW,uBAFmC,CAArC;AAIA,MAAMG,gBAAgB,GAAGC,oCAAkBnB,IAAlB,CAAzB;AACA,MAAI,CAACiB,4BAA4B,CAACG,MAAlC,EAA0C,OAAO,IAAP;AAE1C,sBACE,gCAAC,gBAAD;AACE,IAAA,QAAQ,EAAEN,QADZ;AAEE,IAAA,YAAY,EAAET,YAFhB;AAGE,IAAA,uBAAuB,EAAEY,4BAH3B;AAIE,IAAA,uBAAuB,EAAED,uBAJ3B;AAKE,IAAA,OAAO,EAAEf;AALX,IADF;AASD,CApCD;;AAsCAF,iBAAiB,CAACsB,SAAlB,GAA8B;AAC5BrB,EAAAA,IAAI,EAAEsB,sBAAUC,MADY;AAE5BpB,EAAAA,KAAK,EAAEmB,sBAAUE,MAFW;AAG5BtB,EAAAA,QAAQ,EAAEoB,sBAAUC,MAHQ;AAI5BnB,EAAAA,cAAc,EAAEkB,sBAAUG,KAJE;AAK5BpB,EAAAA,YAAY,EAAEiB,sBAAUC,MALI;AAM5BtB,EAAAA,OAAO,EAAEqB,sBAAUC;AANS,CAA9B;AASAxB,iBAAiB,CAAC2B,YAAlB,GAAiC;AAC/B1B,EAAAA,IAAI,EAAE,MADyB;AAE/BG,EAAAA,KAAK,EAAE,EAFwB;AAG/BD,EAAAA,QAAQ,EAAE,EAHqB;AAI/BE,EAAAA,cAAc,EAAE,EAJe;AAK/BC,EAAAA,YAAY,EAAE,EALiB;AAM/BJ,EAAAA,OAAO,EAAE;AANsB,CAAjC;eASeF,iB","sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\nimport { summaryComponents } from './DataSummaryTypes';\nimport { getClassModifiers, getPropsToDisplayModifiers } from '../../utils';\nimport { buildPropsToDisplayWithContent, stripSummaryPropsContent } from './helpers';\n\nconst DataSummaryRender = ({\n type,\n htmlTag,\n recordId,\n query,\n propsToDisplay,\n elementTitle,\n ...otherProps\n}) => {\n const { data, error, loading } = useQuery(query, {\n variables: { id: recordId }\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data || !data.entityData) return null;\n const { entityData } = data;\n const modifier = getClassModifiers('list', otherProps);\n const summaryPropsWithContent = buildPropsToDisplayWithContent(entityData, propsToDisplay);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const summaryPropsWithCleanContent = stripSummaryPropsContent(\n propsToDisplay,\n summaryPropsWithContent\n );\n const SummaryComponent = summaryComponents[type];\n if (!summaryPropsWithCleanContent.length) return null;\n\n return (\n <SummaryComponent\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithCleanContent}\n propsToDisplayModifiers={propsToDisplayModifiers}\n htmlTag={htmlTag}\n />\n );\n};\n\nDataSummaryRender.propTypes = {\n type: PropTypes.string,\n query: PropTypes.object,\n recordId: PropTypes.string,\n propsToDisplay: PropTypes.array,\n elementTitle: PropTypes.string,\n htmlTag: PropTypes.string\n};\n\nDataSummaryRender.defaultProps = {\n type: 'text',\n query: {},\n recordId: '',\n propsToDisplay: [],\n elementTitle: '',\n htmlTag: 'h2'\n};\n\nexport default DataSummaryRender;\n"],"file":"DataSummaryRender.js"}
1
+ {"version":3,"sources":["../../../src/components/DataSummary/DataSummaryRender.js"],"names":["DataSummaryRender","type","htmlTag","recordId","query","propsToDisplay","elementTitle","loopProperties","loopLimit","otherProps","variables","id","data","error","loading","message","entityData","shouldLoop","length","modifier","summaryPropsWithContent","propsToDisplayModifiers","summaryPropsWithCleanContent","SummaryComponent","summaryComponents","propTypes","PropTypes","string","object","array","number","defaultProps"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAMA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAUpB;AAAA,MATJC,IASI,QATJA,IASI;AAAA,MARJC,OAQI,QARJA,OAQI;AAAA,MAPJC,QAOI,QAPJA,QAOI;AAAA,MANJC,KAMI,QANJA,KAMI;AAAA,MALJC,cAKI,QALJA,cAKI;AAAA,MAJJC,YAII,QAJJA,YAII;AAAA,MAHJC,cAGI,QAHJA,cAGI;AAAA,MAFJC,SAEI,QAFJA,SAEI;AAAA,MADDC,UACC;;AACJ,kBAAiC,0BAASL,KAAT,EAAgB;AAC/CM,IAAAA,SAAS,EAAE;AAAEC,MAAAA,EAAE,EAAER;AAAN;AADoC,GAAhB,CAAjC;AAAA,MAAQS,IAAR,aAAQA,IAAR;AAAA,MAAcC,KAAd,aAAcA,KAAd;AAAA,MAAqBC,OAArB,aAAqBA,OAArB;;AAIA,MAAIA,OAAJ,EAAa,OAAO,EAAP;AACb,MAAID,KAAJ,EAAW,OAAOA,KAAK,CAACE,OAAb;AACX,MAAI,CAACH,IAAD,IAAS,CAACA,IAAI,CAACI,UAAnB,EAA+B,OAAO,IAAP;AAE/B,MAAQA,UAAR,GAAuBJ,IAAvB,CAAQI,UAAR;AACA,MAAMC,UAAU,GAAGV,cAAc,IAAIA,cAAc,CAACW,MAApD;AACA,MAAMC,QAAQ,GAAG,8BAAkB,MAAlB,EAA0BV,UAA1B,CAAjB;AACA,MAAMW,uBAAuB,GAAGH,UAAU,GACtC,oCAAsBV,cAAtB,EAAsCF,cAAtC,EAAsDG,SAAtD,EAAiEQ,UAAjE,CADsC,GAEtC,6CAA+BA,UAA/B,EAA2CX,cAA3C,CAFJ;AAIA,MAAMgB,uBAAuB,GAAG,uCAA2BhB,cAA3B,CAAhC;AACA,MAAMiB,4BAA4B,GAAG,uCACnCjB,cADmC,EAEnCe,uBAFmC,CAArC;AAIA,MAAMG,gBAAgB,GAAGC,oCAAkBvB,IAAlB,CAAzB;AACA,MAAI,CAACqB,4BAA4B,CAACJ,MAAlC,EAA0C,OAAO,IAAP;AAE1C,sBACE,gCAAC,gBAAD;AACE,IAAA,QAAQ,EAAEC,QADZ;AAEE,IAAA,YAAY,EAAEb,YAFhB;AAGE,IAAA,uBAAuB,EAAEgB,4BAH3B;AAIE,IAAA,uBAAuB,EAAED,uBAJ3B;AAKE,IAAA,OAAO,EAAEnB;AALX,IADF;AASD,CA3CD;;AA6CAF,iBAAiB,CAACyB,SAAlB,GAA8B;AAC5BxB,EAAAA,IAAI,EAAEyB,sBAAUC,MADY;AAE5BvB,EAAAA,KAAK,EAAEsB,sBAAUE,MAFW;AAG5BzB,EAAAA,QAAQ,EAAEuB,sBAAUC,MAHQ;AAI5BtB,EAAAA,cAAc,EAAEqB,sBAAUG,KAJE;AAK5BvB,EAAAA,YAAY,EAAEoB,sBAAUC,MALI;AAM5BzB,EAAAA,OAAO,EAAEwB,sBAAUC,MANS;AAO5BpB,EAAAA,cAAc,EAAEmB,sBAAUG,KAPE;AAQ5BrB,EAAAA,SAAS,EAAEkB,sBAAUI;AARO,CAA9B;AAWA9B,iBAAiB,CAAC+B,YAAlB,GAAiC;AAC/B9B,EAAAA,IAAI,EAAE,MADyB;AAE/BG,EAAAA,KAAK,EAAE,EAFwB;AAG/BD,EAAAA,QAAQ,EAAE,EAHqB;AAI/BE,EAAAA,cAAc,EAAE,EAJe;AAK/BC,EAAAA,YAAY,EAAE,EALiB;AAM/BJ,EAAAA,OAAO,EAAE,IANsB;AAO/BK,EAAAA,cAAc,EAAE,EAPe;AAQ/BC,EAAAA,SAAS,EAAE;AARoB,CAAjC;eAWeR,iB","sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/react-hooks';\nimport PropTypes from 'prop-types';\nimport { summaryComponents } from './DataSummaryTypes';\nimport { getClassModifiers, getPropsToDisplayModifiers } from '../../utils';\nimport {\n buildPropsToDisplayWithContent,\n stripSummaryPropsContent,\n buildLoopPropsContent\n} from './helpers';\n\nconst DataSummaryRender = ({\n type,\n htmlTag,\n recordId,\n query,\n propsToDisplay,\n elementTitle,\n loopProperties,\n loopLimit,\n ...otherProps\n}) => {\n const { data, error, loading } = useQuery(query, {\n variables: { id: recordId }\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data || !data.entityData) return null;\n\n const { entityData } = data;\n const shouldLoop = loopProperties && loopProperties.length;\n const modifier = getClassModifiers('list', otherProps);\n const summaryPropsWithContent = shouldLoop\n ? buildLoopPropsContent(loopProperties, propsToDisplay, loopLimit, entityData)\n : buildPropsToDisplayWithContent(entityData, propsToDisplay);\n\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const summaryPropsWithCleanContent = stripSummaryPropsContent(\n propsToDisplay,\n summaryPropsWithContent\n );\n const SummaryComponent = summaryComponents[type];\n if (!summaryPropsWithCleanContent.length) return null;\n\n return (\n <SummaryComponent\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithCleanContent}\n propsToDisplayModifiers={propsToDisplayModifiers}\n htmlTag={htmlTag}\n />\n );\n};\n\nDataSummaryRender.propTypes = {\n type: PropTypes.string,\n query: PropTypes.object,\n recordId: PropTypes.string,\n propsToDisplay: PropTypes.array,\n elementTitle: PropTypes.string,\n htmlTag: PropTypes.string,\n loopProperties: PropTypes.array,\n loopLimit: PropTypes.number\n};\n\nDataSummaryRender.defaultProps = {\n type: 'text',\n query: {},\n recordId: '',\n propsToDisplay: [],\n elementTitle: '',\n htmlTag: 'h2',\n loopProperties: [],\n loopLimit: 0\n};\n\nexport default DataSummaryRender;\n"],"file":"DataSummaryRender.js"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ require("core-js/modules/es.array.for-each.js");
15
+
16
+ require("core-js/modules/web.dom-collections.for-each.js");
17
+
18
+ require("core-js/modules/es.array.is-array.js");
19
+
20
+ require("core-js/modules/es.array.includes.js");
21
+
22
+ require("core-js/modules/es.string.includes.js");
23
+
24
+ require("core-js/modules/es.array.filter.js");
25
+
26
+ require("core-js/modules/es.array.map.js");
27
+
28
+ var _lodash = _interopRequireDefault(require("lodash.upperfirst"));
29
+
30
+ var _lodash2 = _interopRequireDefault(require("lodash.flatten"));
31
+
32
+ var _getLinkToPublishedContent = _interopRequireDefault(require("./get-link-to-published-content"));
33
+
34
+ var _getLoopPropsLimit = _interopRequireDefault(require("./get-loop-props-limit"));
35
+
36
+ var _getPropValue = _interopRequireDefault(require("./get-prop-value"));
37
+
38
+ var getLoopValue = function getLoopValue(value) {
39
+ var keyField = value.keyField;
40
+ return value[keyField];
41
+ };
42
+
43
+ var separateValues = function separateValues(propsToDisplay, loopProps, data) {
44
+ var regularValues = {};
45
+ var loopValues = {};
46
+ propsToDisplay.forEach(function (options) {
47
+ var propertiesToDisplay = options.propertiesToDisplay;
48
+ propertiesToDisplay.forEach(function (prop) {
49
+ var value = (0, _getPropValue["default"])(prop, data, options);
50
+ var isArrayValue = Array.isArray(value);
51
+ if (!value) return;
52
+ var isLoopableProp = loopProps.includes(prop) && isArrayValue;
53
+
54
+ if (isLoopableProp) {
55
+ loopValues[prop] = value;
56
+ } else {
57
+ regularValues[prop] = value;
58
+ }
59
+ });
60
+ });
61
+ return [regularValues, loopValues];
62
+ };
63
+
64
+ var buildLoopPropsContent = function buildLoopPropsContent() {
65
+ var loopProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
66
+ var propsToDisplay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
67
+ var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
68
+ var data = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
69
+ var loopPropsWithContent = [];
70
+
71
+ var _separateValues = separateValues(propsToDisplay, loopProps, data),
72
+ _separateValues2 = (0, _slicedToArray2["default"])(_separateValues, 2),
73
+ regularValues = _separateValues2[0],
74
+ loopValues = _separateValues2[1];
75
+
76
+ var loopLimit = (0, _getLoopPropsLimit["default"])(loopValues, limit);
77
+
78
+ var _loop = function _loop(i) {
79
+ var propsArray = (0, _lodash2["default"])(propsToDisplay.map(function (options) {
80
+ var propertiesToDisplay = options.propertiesToDisplay,
81
+ label = options.label;
82
+ return propertiesToDisplay.map(function (key) {
83
+ var loopValue = loopValues[key];
84
+ var propValue = loopValue ? getLoopValue(loopValue[i]) : regularValues[key];
85
+ if (!propValue) return null;
86
+ var linkToPublishedContent = (0, _getLinkToPublishedContent["default"])(key, data);
87
+ return [(0, _lodash["default"])(label), propValue, linkToPublishedContent];
88
+ });
89
+ })).filter(Boolean);
90
+ loopPropsWithContent.push(propsArray);
91
+ };
92
+
93
+ for (var i = 0; i < loopLimit; i += 1) {
94
+ _loop(i);
95
+ }
96
+
97
+ return (0, _lodash2["default"])(loopPropsWithContent);
98
+ };
99
+
100
+ var _default = buildLoopPropsContent;
101
+ exports["default"] = _default;
102
+ //# sourceMappingURL=build-loop-props-content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/DataSummary/helpers/build-loop-props-content.js"],"names":["getLoopValue","value","keyField","separateValues","propsToDisplay","loopProps","data","regularValues","loopValues","forEach","options","propertiesToDisplay","prop","isArrayValue","Array","isArray","isLoopableProp","includes","buildLoopPropsContent","limit","loopPropsWithContent","loopLimit","i","propsArray","map","label","key","loopValue","propValue","linkToPublishedContent","filter","Boolean","push"],"mappings":"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","sourcesContent":["import upperFirst from 'lodash.upperfirst';\nimport flatten from 'lodash.flatten';\nimport getLinkToPublishedContent from './get-link-to-published-content';\nimport getLoopPropsLimit from './get-loop-props-limit';\nimport getPropValue from './get-prop-value';\n\nconst getLoopValue = value => {\n const { keyField } = value;\n return value[keyField];\n};\n\nconst separateValues = (propsToDisplay, loopProps, data) => {\n const regularValues = {};\n const loopValues = {};\n\n propsToDisplay.forEach(options => {\n const { propertiesToDisplay } = options;\n propertiesToDisplay.forEach(prop => {\n const value = getPropValue(prop, data, options);\n const isArrayValue = Array.isArray(value);\n if (!value) return;\n const isLoopableProp = loopProps.includes(prop) && isArrayValue;\n\n if (isLoopableProp) {\n loopValues[prop] = value;\n } else {\n regularValues[prop] = value;\n }\n });\n });\n return [regularValues, loopValues];\n};\n\nconst buildLoopPropsContent = (loopProps = [], propsToDisplay = [], limit = 0, data = {}) => {\n const loopPropsWithContent = [];\n const [regularValues, loopValues] = separateValues(propsToDisplay, loopProps, data);\n\n const loopLimit = getLoopPropsLimit(loopValues, limit);\n\n for (let i = 0; i < loopLimit; i += 1) {\n const propsArray = flatten(\n propsToDisplay.map(options => {\n const { propertiesToDisplay, label } = options;\n return propertiesToDisplay.map(key => {\n const loopValue = loopValues[key];\n const propValue = loopValue ? getLoopValue(loopValue[i]) : regularValues[key];\n if (!propValue) return null;\n const linkToPublishedContent = getLinkToPublishedContent(key, data);\n\n return [upperFirst(label), propValue, linkToPublishedContent];\n });\n })\n ).filter(Boolean);\n loopPropsWithContent.push(propsArray);\n }\n\n return flatten(loopPropsWithContent);\n};\n\nexport default buildLoopPropsContent;\n"],"file":"build-loop-props-content.js"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ require("core-js/modules/es.array.for-each.js");
11
+
12
+ require("core-js/modules/web.dom-collections.for-each.js");
13
+
14
+ require("core-js/modules/es.object.keys.js");
15
+
16
+ require("core-js/modules/es.array.is-array.js");
17
+
18
+ var getLoopPropsLimit = function getLoopPropsLimit(values, limit) {
19
+ var valuesLimit = 1;
20
+ if (!values) return valuesLimit;
21
+ Object.keys(values).forEach(function (key) {
22
+ var value = values[key];
23
+ if (value && Array.isArray(value) && value.length > valuesLimit) valuesLimit = value.length;
24
+ });
25
+ if (!limit || valuesLimit < limit) return valuesLimit;
26
+ return limit;
27
+ };
28
+
29
+ var _default = getLoopPropsLimit;
30
+ exports["default"] = _default;
31
+ //# sourceMappingURL=get-loop-props-limit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/DataSummary/helpers/get-loop-props-limit.js"],"names":["getLoopPropsLimit","values","limit","valuesLimit","Object","keys","forEach","key","value","Array","isArray","length"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,MAAD,EAASC,KAAT,EAAmB;AAC3C,MAAIC,WAAW,GAAG,CAAlB;AACA,MAAI,CAACF,MAAL,EAAa,OAAOE,WAAP;AACbC,EAAAA,MAAM,CAACC,IAAP,CAAYJ,MAAZ,EAAoBK,OAApB,CAA4B,UAAAC,GAAG,EAAI;AACjC,QAAMC,KAAK,GAAGP,MAAM,CAACM,GAAD,CAApB;AACA,QAAIC,KAAK,IAAIC,KAAK,CAACC,OAAN,CAAcF,KAAd,CAAT,IAAiCA,KAAK,CAACG,MAAN,GAAeR,WAApD,EAAiEA,WAAW,GAAGK,KAAK,CAACG,MAApB;AAClE,GAHD;AAIA,MAAI,CAACT,KAAD,IAAUC,WAAW,GAAGD,KAA5B,EAAmC,OAAOC,WAAP;AACnC,SAAOD,KAAP;AACD,CATD;;eAWeF,iB","sourcesContent":["const getLoopPropsLimit = (values, limit) => {\n let valuesLimit = 1;\n if (!values) return valuesLimit;\n Object.keys(values).forEach(key => {\n const value = values[key];\n if (value && Array.isArray(value) && value.length > valuesLimit) valuesLimit = value.length;\n });\n if (!limit || valuesLimit < limit) return valuesLimit;\n return limit;\n};\n\nexport default getLoopPropsLimit;\n"],"file":"get-loop-props-limit.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DataSummary/helpers/get-prop-value.js"],"names":["getPropValue","key","props","options","baseKey","split","nestedKey","filter","_","i","join","prefix","suffix","value","valueIsArray","Array","isArray","nestedValue","trim"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,KAAN,EAA8B;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;AACjD,MAAMC,OAAO,GAAGH,GAAG,CAACI,KAAJ,CAAU,GAAV,EAAe,CAAf,CAAhB;AACA,MAAMC,SAAS,GAAGL,GAAG,CAClBI,KADe,CACT,GADS,EAEfE,MAFe,CAER,UAACC,CAAD,EAAIC,CAAJ;AAAA,WAAUA,CAAC,KAAK,CAAhB;AAAA,GAFQ,EAGfC,IAHe,CAGV,GAHU,CAAlB;AAIA,wBAAqCP,OAArC,CAAQQ,MAAR;AAAA,MAAQA,MAAR,gCAAiB,EAAjB;AAAA,wBAAqCR,OAArC,CAAqBS,MAArB;AAAA,MAAqBA,MAArB,gCAA8B,EAA9B;AACA,MAAMC,KAAK,GAAGX,KAAK,CAACE,OAAD,CAAnB;AACA,MAAI,OAAOS,KAAP,KAAiB,SAAjB,IAA8B,CAACA,KAAnC,EAA0C,OAAO,IAAP;;AAE1C,MAAIP,SAAJ,EAAe;AACb,QAAMQ,YAAY,GAAGC,KAAK,CAACC,OAAN,CAAcH,KAAd,CAArB;AACA,QAAMI,WAAW,GAAG,CAACH,YAAD,GAAgBD,KAAK,CAACP,SAAD,CAArB,GAAmC,EAAvD;AACA,QAAIQ,YAAJ,EAAkB,OAAO,mCAAkBR,SAAlB,EAA6BO,KAA7B,EAAoCF,MAApC,EAA4CC,MAA5C,CAAP;AAElB,WAAOK,WAAW,GAAG,UAAGN,MAAH,cAAaM,WAAb,cAA4BL,MAA5B,EAAqCM,IAArC,EAAH,GAAiD,IAAnE;AACD;;AAED,SAAO,UAAGP,MAAH,cAAaE,KAAb,cAAsBD,MAAtB,EAA+BM,IAA/B,EAAP;AACD,CAnBD;;eAqBelB,Y","sourcesContent":["import getValueFromArray from './get-value-from-array';\n\nconst getPropValue = (key, props, options = {}) => {\n const baseKey = key.split('.')[0];\n const nestedKey = key\n .split('.')\n .filter((_, i) => i !== 0)\n .join('.');\n const { prefix = '', suffix = '' } = options;\n const value = props[baseKey];\n if (typeof value !== 'boolean' && !value) return null;\n\n if (nestedKey) {\n const valueIsArray = Array.isArray(value);\n const nestedValue = !valueIsArray ? value[nestedKey] : '';\n if (valueIsArray) return getValueFromArray(nestedKey, value, prefix, suffix);\n\n return nestedValue ? `${prefix} ${nestedValue} ${suffix}`.trim() : null;\n }\n\n return `${prefix} ${value} ${suffix}`.trim();\n};\n\nexport default getPropValue;\n"],"file":"get-prop-value.js"}
1
+ {"version":3,"sources":["../../../../src/components/DataSummary/helpers/get-prop-value.js"],"names":["getPropValue","key","props","options","baseKey","split","nestedKey","filter","_","i","join","prefix","suffix","value","valueIsArray","Array","isArray","nestedValue","trim"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,KAAN,EAA8B;AAAA,MAAjBC,OAAiB,uEAAP,EAAO;AACjD,MAAMC,OAAO,GAAGH,GAAG,CAACI,KAAJ,CAAU,GAAV,EAAe,CAAf,CAAhB;AACA,MAAMC,SAAS,GAAGL,GAAG,CAClBI,KADe,CACT,GADS,EAEfE,MAFe,CAER,UAACC,CAAD,EAAIC,CAAJ;AAAA,WAAUA,CAAC,KAAK,CAAhB;AAAA,GAFQ,EAGfC,IAHe,CAGV,GAHU,CAAlB;AAIA,wBAAqCP,OAArC,CAAQQ,MAAR;AAAA,MAAQA,MAAR,gCAAiB,EAAjB;AAAA,wBAAqCR,OAArC,CAAqBS,MAArB;AAAA,MAAqBA,MAArB,gCAA8B,EAA9B;AACA,MAAMC,KAAK,GAAGX,KAAK,CAACE,OAAD,CAAnB;AAEA,MAAI,OAAOS,KAAP,KAAiB,SAAjB,IAA8B,CAACA,KAAnC,EAA0C,OAAO,IAAP;;AAE1C,MAAIP,SAAJ,EAAe;AACb,QAAMQ,YAAY,GAAGC,KAAK,CAACC,OAAN,CAAcH,KAAd,CAArB;AACA,QAAMI,WAAW,GAAG,CAACH,YAAD,GAAgBD,KAAK,CAACP,SAAD,CAArB,GAAmC,EAAvD;AACA,QAAIQ,YAAJ,EAAkB,OAAO,mCAAkBR,SAAlB,EAA6BO,KAA7B,EAAoCF,MAApC,EAA4CC,MAA5C,CAAP;AAClB,WAAOK,WAAW,GAAG,UAAGN,MAAH,cAAaM,WAAb,cAA4BL,MAA5B,EAAqCM,IAArC,EAAH,GAAiD,IAAnE;AACD;;AAED,SAAO,UAAGP,MAAH,cAAaE,KAAb,cAAsBD,MAAtB,EAA+BM,IAA/B,EAAP;AACD,CAnBD;;eAqBelB,Y","sourcesContent":["import getValueFromArray from './get-value-from-array';\n\nconst getPropValue = (key, props, options = {}) => {\n const baseKey = key.split('.')[0];\n const nestedKey = key\n .split('.')\n .filter((_, i) => i !== 0)\n .join('.');\n const { prefix = '', suffix = '' } = options;\n const value = props[baseKey];\n\n if (typeof value !== 'boolean' && !value) return null;\n\n if (nestedKey) {\n const valueIsArray = Array.isArray(value);\n const nestedValue = !valueIsArray ? value[nestedKey] : '';\n if (valueIsArray) return getValueFromArray(nestedKey, value, prefix, suffix);\n return nestedValue ? `${prefix} ${nestedValue} ${suffix}`.trim() : null;\n }\n\n return `${prefix} ${value} ${suffix}`.trim();\n};\n\nexport default getPropValue;\n"],"file":"get-prop-value.js"}
@@ -31,6 +31,12 @@ Object.defineProperty(exports, "stripSummaryPropsContent", {
31
31
  return _stripSummaryPropsContent["default"];
32
32
  }
33
33
  });
34
+ Object.defineProperty(exports, "buildLoopPropsContent", {
35
+ enumerable: true,
36
+ get: function get() {
37
+ return _buildLoopPropsContent["default"];
38
+ }
39
+ });
34
40
 
35
41
  var _getDataSummaryQuery = _interopRequireDefault(require("./get-data-summary-query"));
36
42
 
@@ -39,4 +45,6 @@ var _buildPropsToDisplayWithContent = _interopRequireDefault(require("./build-pr
39
45
  var _getLinkToPublishedContent = _interopRequireDefault(require("./get-link-to-published-content"));
40
46
 
41
47
  var _stripSummaryPropsContent = _interopRequireDefault(require("./strip-summary-props-content"));
48
+
49
+ var _buildLoopPropsContent = _interopRequireDefault(require("./build-loop-props-content"));
42
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/DataSummary/helpers/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA","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';\n\nexport {\n getDataSummaryQuery,\n buildPropsToDisplayWithContent,\n getLinkToPublishedContent,\n stripSummaryPropsContent\n};\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../src/components/DataSummary/helpers/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA","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';\n\nexport {\n getDataSummaryQuery,\n buildPropsToDisplayWithContent,\n getLinkToPublishedContent,\n stripSummaryPropsContent,\n buildLoopPropsContent\n};\n"],"file":"index.js"}
@@ -86,7 +86,7 @@ function BuildPBComponents(components) {
86
86
  setSelectedImage = options.setSelectedImage,
87
87
  parent = options.parent,
88
88
  parentName = options.name;
89
- if (rootLevel) _StoreImages["default"].resetImages();
89
+ if (rootLevel && !open) _StoreImages["default"].resetImages();
90
90
 
91
91
  _StoreImages["default"].addImages((0, _getLightboxImages["default"])(components).concat(lightboxImages), options);
92
92
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/helpers/buildPBComponents.js"],"names":["renderChildComponents","options","items","length","BuildPBComponents","components","rootLevel","isArray","Array","metaTitle","lightboxImages","toggleModal","open","selectedImage","setSelectedImage","parent","parentName","name","StoreImages","resetImages","addImages","concat","setHandlers","imageProps","handleSelectedImage","images","map","image","component","ELEMENT","hasElementBanners","banners","PB_TYPE_TEXTBLOCK","hasTextBlockBanners","textBlockBanners","updatedChildren","filter","settings","insertionType","bannerToInject","bannerIndex","hasComponentItems","childComponents","id"],"mappings":"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","sourcesContent":["import React from 'react';\nimport cloneDeep from 'lodash.clonedeep';\nimport GlobalLightbox from '../../components/Image/GlobalLightbox';\nimport RenderComponent from './RenderComponent';\nimport getBannersByType from './get-banners-by-type';\nimport injectElementBanners from './inject-element-banners';\nimport StoreImages from './StoreImages';\nimport getLightboxImages from './get-lightbox-images';\nimport insertBanners from './insert-banners';\nimport checkBannerInsertionSet from './check-banner-insertion-set';\nimport getBannerIndex from './get-banner-index';\nimport { ELEMENT } from '../../constants';\nimport { PB_TYPE_TEXTBLOCK } from './constants';\n\nfunction renderChildComponents(options, items = []) {\n return items && items.length ? BuildPBComponents(items, options) : [];\n}\n\nfunction BuildPBComponents(components, options = {}, rootLevel = false) {\n const isArray = Array.isArray(components);\n if (!isArray) return [];\n\n const {\n metaTitle,\n lightboxImages = [],\n toggleModal,\n open,\n selectedImage,\n setSelectedImage,\n parent,\n name: parentName\n } = options;\n\n if (rootLevel) StoreImages.resetImages();\n\n StoreImages.addImages(getLightboxImages(components).concat(lightboxImages), options);\n StoreImages.setHandlers({ toggleModal, setSelectedImage });\n\n const imageProps = {\n toggleModal: StoreImages.toggleModal,\n handleSelectedImage: StoreImages.handleSelectedImage\n };\n\n const images = StoreImages.images.map(image => ({ ...image, ...imageProps }));\n\n return (\n <>\n {open && (\n <GlobalLightbox\n images={images}\n onClose={StoreImages.toggleModal}\n selectedImage={selectedImage}\n metaTitle={metaTitle}\n parentName={parentName}\n parent={parent}\n />\n )}\n {components.map(component => {\n const { items = [] } = component;\n const [hasElementBanners, banners] = getBannersByType(items, ELEMENT);\n const [hasTextBlockBanners, textBlockBanners] = getBannersByType(items, PB_TYPE_TEXTBLOCK);\n let updatedChildren =\n items &&\n cloneDeep(items).filter(\n ({ settings: { insertionType } = {} }) => insertionType !== PB_TYPE_TEXTBLOCK\n );\n\n if (hasElementBanners) {\n updatedChildren = injectElementBanners(banners, updatedChildren);\n } else {\n // TODO: this block is for banner retrocompatibility, once completly migrated remove it as well as all related helpers\n const bannerToInject = checkBannerInsertionSet(updatedChildren);\n const bannerIndex = getBannerIndex(updatedChildren, bannerToInject);\n const hasComponentItems = !!(updatedChildren && updatedChildren.length);\n\n if (hasComponentItems && bannerIndex > -1) {\n updatedChildren = insertBanners(updatedChildren, bannerIndex, bannerToInject);\n }\n }\n\n const childComponents = renderChildComponents(options, updatedChildren);\n\n return (\n <RenderComponent\n component={component}\n siblings={updatedChildren}\n childComponents={childComponents}\n imageProps={imageProps}\n options={{ ...options }}\n images={images}\n key={`${component.id}`}\n hasTextBlockBanners={hasTextBlockBanners}\n textBlockBanners={textBlockBanners}\n />\n );\n })}\n </>\n );\n}\n\nexport default BuildPBComponents;\n"],"file":"buildPBComponents.js"}
1
+ {"version":3,"sources":["../../../src/hooks/helpers/buildPBComponents.js"],"names":["renderChildComponents","options","items","length","BuildPBComponents","components","rootLevel","isArray","Array","metaTitle","lightboxImages","toggleModal","open","selectedImage","setSelectedImage","parent","parentName","name","StoreImages","resetImages","addImages","concat","setHandlers","imageProps","handleSelectedImage","images","map","image","component","ELEMENT","hasElementBanners","banners","PB_TYPE_TEXTBLOCK","hasTextBlockBanners","textBlockBanners","updatedChildren","filter","settings","insertionType","bannerToInject","bannerIndex","hasComponentItems","childComponents","id"],"mappings":"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","sourcesContent":["import React from 'react';\nimport cloneDeep from 'lodash.clonedeep';\nimport GlobalLightbox from '../../components/Image/GlobalLightbox';\nimport RenderComponent from './RenderComponent';\nimport getBannersByType from './get-banners-by-type';\nimport injectElementBanners from './inject-element-banners';\nimport StoreImages from './StoreImages';\nimport getLightboxImages from './get-lightbox-images';\nimport insertBanners from './insert-banners';\nimport checkBannerInsertionSet from './check-banner-insertion-set';\nimport getBannerIndex from './get-banner-index';\nimport { ELEMENT } from '../../constants';\nimport { PB_TYPE_TEXTBLOCK } from './constants';\n\nfunction renderChildComponents(options, items = []) {\n return items && items.length ? BuildPBComponents(items, options) : [];\n}\n\nfunction BuildPBComponents(components, options = {}, rootLevel = false) {\n const isArray = Array.isArray(components);\n if (!isArray) return [];\n\n const {\n metaTitle,\n lightboxImages = [],\n toggleModal,\n open,\n selectedImage,\n setSelectedImage,\n parent,\n name: parentName\n } = options;\n\n if (rootLevel && !open) StoreImages.resetImages();\n\n StoreImages.addImages(getLightboxImages(components).concat(lightboxImages), options);\n StoreImages.setHandlers({ toggleModal, setSelectedImage });\n\n const imageProps = {\n toggleModal: StoreImages.toggleModal,\n handleSelectedImage: StoreImages.handleSelectedImage\n };\n\n const images = StoreImages.images.map(image => ({ ...image, ...imageProps }));\n\n return (\n <>\n {open && (\n <GlobalLightbox\n images={images}\n onClose={StoreImages.toggleModal}\n selectedImage={selectedImage}\n metaTitle={metaTitle}\n parentName={parentName}\n parent={parent}\n />\n )}\n {components.map(component => {\n const { items = [] } = component;\n const [hasElementBanners, banners] = getBannersByType(items, ELEMENT);\n const [hasTextBlockBanners, textBlockBanners] = getBannersByType(items, PB_TYPE_TEXTBLOCK);\n let updatedChildren =\n items &&\n cloneDeep(items).filter(\n ({ settings: { insertionType } = {} }) => insertionType !== PB_TYPE_TEXTBLOCK\n );\n\n if (hasElementBanners) {\n updatedChildren = injectElementBanners(banners, updatedChildren);\n } else {\n // TODO: this block is for banner retrocompatibility, once completly migrated remove it as well as all related helpers\n const bannerToInject = checkBannerInsertionSet(updatedChildren);\n const bannerIndex = getBannerIndex(updatedChildren, bannerToInject);\n const hasComponentItems = !!(updatedChildren && updatedChildren.length);\n\n if (hasComponentItems && bannerIndex > -1) {\n updatedChildren = insertBanners(updatedChildren, bannerIndex, bannerToInject);\n }\n }\n\n const childComponents = renderChildComponents(options, updatedChildren);\n\n return (\n <RenderComponent\n component={component}\n siblings={updatedChildren}\n childComponents={childComponents}\n imageProps={imageProps}\n options={{ ...options }}\n images={images}\n key={`${component.id}`}\n hasTextBlockBanners={hasTextBlockBanners}\n textBlockBanners={textBlockBanners}\n />\n );\n })}\n </>\n );\n}\n\nexport default BuildPBComponents;\n"],"file":"buildPBComponents.js"}
@@ -81,7 +81,7 @@ const CardRender = _ref => {
81
81
  loading: schemaLoading,
82
82
  error: schemaError
83
83
  } = useGetEntitySchemasAsObj(getRequiredSchemas([...filterByProperty, ...sortby], filterEntitySchema), _loading);
84
- const updatedFilterBy = getUpdatedFilterBy(inheritedFilters, entityData, currentSchema, filterEntitySchema, itemId, variableProps) || [];
84
+ const updatedFilterBy = getUpdatedFilterBy(inheritedFilters, entityData, currentSchema, filterEntitySchema, itemId, variableProps);
85
85
  const {
86
86
  limit,
87
87
  variables
@@ -102,7 +102,7 @@ const CardRender = _ref => {
102
102
  loading: cardsLoading
103
103
  } = useQuery(action, {
104
104
  variables,
105
- skip: shouldReturn(_loading, _load, schemaLoading, _error, _err, schemaError)
105
+ skip: shouldReturn(!updatedFilterBy, _loading, _load, schemaLoading, _error, _err, schemaError)
106
106
  });
107
107
  const imageIds = itemsToDisplay.map(({
108
108
  imageId
@@ -113,6 +113,7 @@ const CardRender = _ref => {
113
113
  } = useGetImages(imageIds, true);
114
114
  const isLoading = shouldReturn(_loading, _load, schemaLoading, cardsLoading, imagesLoading);
115
115
  const hasError = shouldReturn(_error, _err, schemaError);
116
+ if (!updatedFilterBy) return null;
116
117
  if (isLoading) return '';
117
118
  if (hasError) return null;
118
119
  if (cardsError) return cardsError.message;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Card/CardRender.js"],"names":["React","useContext","useQuery","dynamic","PropTypes","MainContext","generateSingleItemQuery","SEARCH_PUBLISHED_CONTENT","AND","useGetEntitySchemasAsObj","useGetImages","getUpdatedFilterBy","getEntityData","sortResponseData","getUnpublishedEntityName","renderChildren","splitChildren","removeExtraItems","getRequiredSchemas","appendImages","filtersSetup","filterQuerySetup","shouldSkipSingleQuery","shouldReturn","CardContainer","CardRender","entity","entityFields","itemsToDisplay","children","variableProps","parent","itemId","itemEntity","filterBy","filterByProperty","sortby","operator","filterOperator","itemEntityUpdated","data","mainSchemas","loading","_loading","error","_error","isPreview","entityType","docType","getAction","queryProps","inheritedFilters","currentSchema","filterEntitySchema","entitySameAsCurrentItemEntity","action","filterEntityRelations","getEntitySchemas","Object","values","entityData","_err","_load","variables","id","skip","requiredSchema","schemaLoading","schemaError","updatedFilterBy","limit","cardsError","cardsLoading","imageIds","map","imageId","filter","Boolean","imagesData","imagesLoading","isLoading","hasError","message","results","cardData","length","orderedData","regularChildren","gtmChildren","name","updatedCards","propTypes","oneOfType","arrayOf","node","string","isRequired","array","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from 'react-apollo';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { SEARCH_PUBLISHED_CONTENT, AND } from '../../constants';\nimport { useGetEntitySchemasAsObj, useGetImages } from '../../hooks';\nimport {\n getUpdatedFilterBy,\n getEntityData,\n sortResponseData,\n getUnpublishedEntityName,\n renderChildren,\n splitChildren,\n removeExtraItems,\n getRequiredSchemas,\n appendImages\n} from '../../helpers';\nimport { filtersSetup, filterQuerySetup, shouldSkipSingleQuery, shouldReturn } from './helpers';\n\nconst CardContainer = dynamic(() => import('./CardContainer'));\n\nconst CardRender = ({ entity, entityFields, itemsToDisplay, children, ...variableProps }) => {\n const {\n parent: { itemId, itemEntity },\n filterBy = [],\n filterByProperty = [],\n sortby = [],\n operator: filterOperator = AND\n } = variableProps;\n\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const { data: mainSchemas = {}, loading: _loading, error: _error } = useGetEntitySchemasAsObj([\n itemEntityUpdated,\n entity\n ]);\n\n const { isPreview } = useContext(MainContext);\n const { entityType, docType } = getEntityData(entity);\n const {\n getAction,\n queryProps,\n inheritedFilters,\n currentSchema,\n filterEntitySchema,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n } = filtersSetup({\n entityFields,\n entityType,\n filterBy,\n filterByProperty,\n entity,\n getEntitySchemas: Object.values(mainSchemas),\n isPreview,\n itemEntityUpdated\n });\n const { data: { entityData = {} } = {}, error: _err, loading: _load } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: itemId },\n skip: shouldSkipSingleQuery(_loading, getAction, queryProps)\n }\n );\n\n const {\n data: requiredSchema = {},\n loading: schemaLoading,\n error: schemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortby], filterEntitySchema),\n _loading\n );\n\n const updatedFilterBy =\n getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n variableProps\n ) || [];\n\n const { limit, variables } = filterQuerySetup({\n getEntitySchemas: Object.values(requiredSchema),\n entity,\n updatedFilterBy,\n variableProps,\n docType,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay,\n entitySameAsCurrentItemEntity\n });\n\n const { data, error: cardsError, loading: cardsLoading } = useQuery(action, {\n variables,\n skip: shouldReturn(_loading, _load, schemaLoading, _error, _err, schemaError)\n });\n const imageIds = itemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n const isLoading = shouldReturn(_loading, _load, schemaLoading, cardsLoading, imagesLoading);\n const hasError = shouldReturn(_error, _err, schemaError);\n\n if (isLoading) return '';\n if (hasError) return null;\n if (cardsError) return cardsError.message;\n\n let { results: cardData } = data[SEARCH_PUBLISHED_CONTENT];\n if (!cardData || !cardData.length) return null;\n cardData = entitySameAsCurrentItemEntity ? removeExtraItems(cardData, limit, itemId) : cardData;\n const orderedData = sortResponseData(cardData, itemsToDisplay);\n const { regularChildren, gtmChildren } = splitChildren(children, cardData, entity, {\n name: variableProps.name\n });\n const updatedCards = appendImages(imagesData, orderedData, itemsToDisplay);\n\n return (\n <>\n {gtmChildren && renderChildren(gtmChildren)}\n <CardContainer\n cardData={updatedCards}\n entity={entity}\n gtmChildren={gtmChildren}\n cardChildren={regularChildren}\n {...variableProps}\n />\n </>\n );\n};\n\nCardRender.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n entity: PropTypes.string.isRequired,\n entityFields: PropTypes.string.isRequired,\n itemsToDisplay: PropTypes.array\n};\n\nCardRender.defaultProps = {\n children: [],\n itemsToDisplay: []\n};\n\nexport default CardRender;\n"],"file":"CardRender.js"}
1
+ {"version":3,"sources":["../../../src/components/Card/CardRender.js"],"names":["React","useContext","useQuery","dynamic","PropTypes","MainContext","generateSingleItemQuery","SEARCH_PUBLISHED_CONTENT","AND","useGetEntitySchemasAsObj","useGetImages","getUpdatedFilterBy","getEntityData","sortResponseData","getUnpublishedEntityName","renderChildren","splitChildren","removeExtraItems","getRequiredSchemas","appendImages","filtersSetup","filterQuerySetup","shouldSkipSingleQuery","shouldReturn","CardContainer","CardRender","entity","entityFields","itemsToDisplay","children","variableProps","parent","itemId","itemEntity","filterBy","filterByProperty","sortby","operator","filterOperator","itemEntityUpdated","data","mainSchemas","loading","_loading","error","_error","isPreview","entityType","docType","getAction","queryProps","inheritedFilters","currentSchema","filterEntitySchema","entitySameAsCurrentItemEntity","action","filterEntityRelations","getEntitySchemas","Object","values","entityData","_err","_load","variables","id","skip","requiredSchema","schemaLoading","schemaError","updatedFilterBy","limit","cardsError","cardsLoading","imageIds","map","imageId","filter","Boolean","imagesData","imagesLoading","isLoading","hasError","message","results","cardData","length","orderedData","regularChildren","gtmChildren","name","updatedCards","propTypes","oneOfType","arrayOf","node","string","isRequired","array","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from 'react-apollo';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { SEARCH_PUBLISHED_CONTENT, AND } from '../../constants';\nimport { useGetEntitySchemasAsObj, useGetImages } from '../../hooks';\nimport {\n getUpdatedFilterBy,\n getEntityData,\n sortResponseData,\n getUnpublishedEntityName,\n renderChildren,\n splitChildren,\n removeExtraItems,\n getRequiredSchemas,\n appendImages\n} from '../../helpers';\nimport { filtersSetup, filterQuerySetup, shouldSkipSingleQuery, shouldReturn } from './helpers';\n\nconst CardContainer = dynamic(() => import('./CardContainer'));\n\nconst CardRender = ({ entity, entityFields, itemsToDisplay, children, ...variableProps }) => {\n const {\n parent: { itemId, itemEntity },\n filterBy = [],\n filterByProperty = [],\n sortby = [],\n operator: filterOperator = AND\n } = variableProps;\n\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const { data: mainSchemas = {}, loading: _loading, error: _error } = useGetEntitySchemasAsObj([\n itemEntityUpdated,\n entity\n ]);\n\n const { isPreview } = useContext(MainContext);\n const { entityType, docType } = getEntityData(entity);\n const {\n getAction,\n queryProps,\n inheritedFilters,\n currentSchema,\n filterEntitySchema,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n } = filtersSetup({\n entityFields,\n entityType,\n filterBy,\n filterByProperty,\n entity,\n getEntitySchemas: Object.values(mainSchemas),\n isPreview,\n itemEntityUpdated\n });\n const { data: { entityData = {} } = {}, error: _err, loading: _load } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: itemId },\n skip: shouldSkipSingleQuery(_loading, getAction, queryProps)\n }\n );\n\n const {\n data: requiredSchema = {},\n loading: schemaLoading,\n error: schemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortby], filterEntitySchema),\n _loading\n );\n\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n variableProps\n );\n\n const { limit, variables } = filterQuerySetup({\n getEntitySchemas: Object.values(requiredSchema),\n entity,\n updatedFilterBy,\n variableProps,\n docType,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay,\n entitySameAsCurrentItemEntity\n });\n\n const { data, error: cardsError, loading: cardsLoading } = useQuery(action, {\n variables,\n skip: shouldReturn(!updatedFilterBy, _loading, _load, schemaLoading, _error, _err, schemaError)\n });\n const imageIds = itemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n const isLoading = shouldReturn(_loading, _load, schemaLoading, cardsLoading, imagesLoading);\n const hasError = shouldReturn(_error, _err, schemaError);\n\n if (!updatedFilterBy) return null;\n if (isLoading) return '';\n if (hasError) return null;\n if (cardsError) return cardsError.message;\n\n let { results: cardData } = data[SEARCH_PUBLISHED_CONTENT];\n if (!cardData || !cardData.length) return null;\n cardData = entitySameAsCurrentItemEntity ? removeExtraItems(cardData, limit, itemId) : cardData;\n const orderedData = sortResponseData(cardData, itemsToDisplay);\n const { regularChildren, gtmChildren } = splitChildren(children, cardData, entity, {\n name: variableProps.name\n });\n const updatedCards = appendImages(imagesData, orderedData, itemsToDisplay);\n\n return (\n <>\n {gtmChildren && renderChildren(gtmChildren)}\n <CardContainer\n cardData={updatedCards}\n entity={entity}\n gtmChildren={gtmChildren}\n cardChildren={regularChildren}\n {...variableProps}\n />\n </>\n );\n};\n\nCardRender.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n entity: PropTypes.string.isRequired,\n entityFields: PropTypes.string.isRequired,\n itemsToDisplay: PropTypes.array\n};\n\nCardRender.defaultProps = {\n children: [],\n itemsToDisplay: []\n};\n\nexport default CardRender;\n"],"file":"CardRender.js"}