@blaze-cms/react-page-builder 0.119.0 → 0.120.0-alpha.2

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 (76) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/lib/components/Banner/AdSlotRender.js +23 -9
  3. package/lib/components/Banner/AdSlotRender.js.map +1 -1
  4. package/lib/components/Banner/Banner.js +24 -3
  5. package/lib/components/Banner/Banner.js.map +1 -1
  6. package/lib/components/Banner/BannerRender.js +7 -4
  7. package/lib/components/Banner/BannerRender.js.map +1 -1
  8. package/lib/components/Banner/helpers.js +66 -1
  9. package/lib/components/Banner/helpers.js.map +1 -1
  10. package/lib/components/BlazeLink.js +1 -0
  11. package/lib/components/BlazeLink.js.map +1 -1
  12. package/lib/components/Card/Card.js +1 -1
  13. package/lib/components/Card/Card.js.map +1 -1
  14. package/lib/components/Card/CardContainer.js +6 -2
  15. package/lib/components/Card/CardContainer.js.map +1 -1
  16. package/lib/components/Card/CardRender.js +27 -12
  17. package/lib/components/Card/CardRender.js.map +1 -1
  18. package/lib/components/Card/helpers/filter-query-setup.js +7 -3
  19. package/lib/components/Card/helpers/filter-query-setup.js.map +1 -1
  20. package/lib/components/Card/helpers/filters-setup.js +5 -16
  21. package/lib/components/Card/helpers/filters-setup.js.map +1 -1
  22. package/lib/components/List/ListBuilder.js +3 -3
  23. package/lib/components/List/ListBuilder.js.map +1 -1
  24. package/lib/helpers/build-props-query.js +15 -7
  25. package/lib/helpers/build-props-query.js.map +1 -1
  26. package/lib/helpers/get-entity-data.js +27 -5
  27. package/lib/helpers/get-entity-data.js.map +1 -1
  28. package/lib/helpers/get-generic-render-variables.js +29 -7
  29. package/lib/helpers/get-generic-render-variables.js.map +1 -1
  30. package/lib-es/components/Banner/AdSlotRender.js +23 -11
  31. package/lib-es/components/Banner/AdSlotRender.js.map +1 -1
  32. package/lib-es/components/Banner/Banner.js +22 -4
  33. package/lib-es/components/Banner/Banner.js.map +1 -1
  34. package/lib-es/components/Banner/BannerRender.js +8 -5
  35. package/lib-es/components/Banner/BannerRender.js.map +1 -1
  36. package/lib-es/components/Banner/helpers.js +52 -1
  37. package/lib-es/components/Banner/helpers.js.map +1 -1
  38. package/lib-es/components/BlazeLink.js +1 -0
  39. package/lib-es/components/BlazeLink.js.map +1 -1
  40. package/lib-es/components/Card/Card.js +1 -1
  41. package/lib-es/components/Card/Card.js.map +1 -1
  42. package/lib-es/components/Card/CardContainer.js +6 -2
  43. package/lib-es/components/Card/CardContainer.js.map +1 -1
  44. package/lib-es/components/Card/CardRender.js +19 -10
  45. package/lib-es/components/Card/CardRender.js.map +1 -1
  46. package/lib-es/components/Card/helpers/filter-query-setup.js +7 -3
  47. package/lib-es/components/Card/helpers/filter-query-setup.js.map +1 -1
  48. package/lib-es/components/Card/helpers/filters-setup.js +2 -7
  49. package/lib-es/components/Card/helpers/filters-setup.js.map +1 -1
  50. package/lib-es/components/List/ListBuilder.js +3 -3
  51. package/lib-es/components/List/ListBuilder.js.map +1 -1
  52. package/lib-es/helpers/build-props-query.js +11 -8
  53. package/lib-es/helpers/build-props-query.js.map +1 -1
  54. package/lib-es/helpers/get-entity-data.js +23 -5
  55. package/lib-es/helpers/get-entity-data.js.map +1 -1
  56. package/lib-es/helpers/get-generic-render-variables.js +28 -7
  57. package/lib-es/helpers/get-generic-render-variables.js.map +1 -1
  58. package/package.json +2 -2
  59. package/src/components/Banner/AdSlotRender.js +11 -7
  60. package/src/components/Banner/Banner.js +13 -4
  61. package/src/components/Banner/BannerRender.js +6 -4
  62. package/src/components/Banner/helpers.js +49 -1
  63. package/src/components/BlazeLink.js +1 -0
  64. package/src/components/Card/Card.js +3 -5
  65. package/src/components/Card/CardContainer.js +6 -2
  66. package/src/components/Card/CardRender.js +15 -9
  67. package/src/components/Card/helpers/filter-query-setup.js +9 -3
  68. package/src/components/Card/helpers/filters-setup.js +2 -5
  69. package/src/components/List/ListBuilder.js +3 -3
  70. package/src/helpers/build-props-query.js +7 -10
  71. package/src/helpers/get-entity-data.js +12 -4
  72. package/src/helpers/get-generic-render-variables.js +30 -6
  73. package/tests/unit/src/components/Banner/AdSlotRender.test.js +4 -3
  74. package/tests/unit/src/components/Banner/__snapshots__/AdSlotRender.test.js.snap +10 -4
  75. package/tests/unit/src/components/List/components/Cards/__snapshots__/CardsRender.test.js.snap +18 -6
  76. package/tests/unit/src/helpers/build-props-query.test.js +28 -0
@@ -110,7 +110,9 @@ CardContainer.propTypes = {
110
110
  itemsPerRow: PropTypes.number,
111
111
  enableCarousel: PropTypes.bool,
112
112
  bannerModifier: PropTypes.string,
113
- priorityLimit: PropTypes.number
113
+ priorityLimit: PropTypes.number,
114
+ enableAutoScroll: PropTypes.bool,
115
+ autoScrollTimer: PropTypes.number
114
116
  };
115
117
  CardContainer.defaultProps = {
116
118
  gtmChildren: [],
@@ -127,7 +129,9 @@ CardContainer.defaultProps = {
127
129
  itemsPerRow: 1,
128
130
  enableCarousel: false,
129
131
  bannerModifier: '',
130
- priorityLimit: 0
132
+ priorityLimit: 0,
133
+ enableAutoScroll: false,
134
+ autoScrollTimer: 0
131
135
  };
132
136
  export default withTitle(CardContainer);
133
137
  //# sourceMappingURL=CardContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Card/CardContainer.js"],"names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","autoScrollTimer","cardProps","entities","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n autoScrollTimer,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0\n};\n\nexport default withTitle(CardContainer);\n"],"file":"CardContainer.js"}
1
+ {"version":3,"sources":["../../../src/components/Card/CardContainer.js"],"names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","autoScrollTimer","cardProps","entities","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n autoScrollTimer,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number,\n enableAutoScroll: PropTypes.bool,\n autoScrollTimer: PropTypes.number\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0,\n enableAutoScroll: false,\n autoScrollTimer: 0\n};\n\nexport default withTitle(CardContainer);\n"],"file":"CardContainer.js"}
@@ -28,6 +28,9 @@ const CardRender = _ref => {
28
28
  } = _ref,
29
29
  otherProps = _objectWithoutProperties(_ref, _excluded);
30
30
 
31
+ const {
32
+ isPreview
33
+ } = useContext(MainContext);
31
34
  const {
32
35
  parent: {
33
36
  itemId,
@@ -38,7 +41,8 @@ const CardRender = _ref => {
38
41
  sortby,
39
42
  sort,
40
43
  sortProperties = [],
41
- operator: filterOperator = AND
44
+ operator: filterOperator = AND,
45
+ useRandomSort
42
46
  } = otherProps;
43
47
  const updatedSortProperties = [...sortProperties];
44
48
 
@@ -65,19 +69,21 @@ const CardRender = _ref => {
65
69
  loading: _loading,
66
70
  error: _error
67
71
  } = useGetEntitySchemasAsObj([itemEntityUpdated, entity]);
68
- const {
69
- isPreview
70
- } = useContext(MainContext);
72
+ const schemas = Object.values(mainSchemas);
73
+ const currentSchema = schemas.find(({
74
+ identifier
75
+ }) => identifier === itemEntityUpdated) || {};
76
+ const filterEntitySchema = schemas.find(({
77
+ id
78
+ }) => entity === id) || {};
71
79
  const {
72
80
  entityType,
73
81
  docType
74
- } = getEntityData(entity);
82
+ } = getEntityData(entity, filterEntitySchema);
75
83
  const {
76
84
  getAction,
77
85
  queryProps,
78
86
  inheritedFilters,
79
- currentSchema,
80
- filterEntitySchema,
81
87
  entitySameAsCurrentItemEntity,
82
88
  action,
83
89
  filterEntityRelations
@@ -87,7 +93,8 @@ const CardRender = _ref => {
87
93
  filterBy,
88
94
  filterByProperty,
89
95
  entity,
90
- getEntitySchemas: Object.values(mainSchemas),
96
+ currentSchema,
97
+ filterEntitySchema,
91
98
  isPreview,
92
99
  itemEntityUpdated
93
100
  });
@@ -121,7 +128,8 @@ const CardRender = _ref => {
121
128
  filterOperator,
122
129
  filterEntityRelations,
123
130
  itemsToDisplay,
124
- entitySameAsCurrentItemEntity
131
+ entitySameAsCurrentItemEntity,
132
+ useRandomSort
125
133
  });
126
134
  const {
127
135
  data,
@@ -129,6 +137,7 @@ const CardRender = _ref => {
129
137
  loading: cardsLoading
130
138
  } = useQuery(action, {
131
139
  variables,
140
+ fetchPolicy: useRandomSort ? 'cache-and-network' : 'cache-first',
132
141
  skip: shouldReturn(!updatedFilterBy, _loading, _load, schemaLoading, _error, _err, schemaError)
133
142
  });
134
143
  const imageIds = itemsToDisplay.map(({
@@ -149,7 +158,7 @@ const CardRender = _ref => {
149
158
  } = data[SEARCH_PUBLISHED_CONTENT];
150
159
  if (!cardData || !cardData.length) return null;
151
160
  cardData = entitySameAsCurrentItemEntity ? removeExtraItems(cardData, limit, itemId) : cardData;
152
- const orderedData = sortResponseData(cardData, itemsToDisplay);
161
+ const orderedData = useRandomSort ? cardData : sortResponseData(cardData, itemsToDisplay);
153
162
  const {
154
163
  regularChildren,
155
164
  gtmChildren
@@ -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","getRequiredSchemas","sortResponseData","getUnpublishedEntityName","renderChildren","splitChildren","removeExtraItems","appendImages","filtersSetup","filterQuerySetup","shouldSkipSingleQuery","shouldReturn","CardContainer","CardRender","entity","entityFields","itemsToDisplay","children","otherProps","parent","itemId","itemEntity","filterBy","filterByProperty","sortby","sort","sortProperties","operator","filterOperator","updatedSortProperties","length","unshift","propsToDisplay","sortbyFilters","map","filter","Boolean","flat","variableProps","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","imageId","imagesData","imagesLoading","isLoading","hasError","message","results","cardData","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 '@apollo/client';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { SEARCH_PUBLISHED_CONTENT, AND } from '../../constants';\nimport { useGetEntitySchemasAsObj, useGetImages } from '../../hooks';\nimport {\n getUpdatedFilterBy,\n getEntityData,\n getRequiredSchemas,\n sortResponseData,\n getUnpublishedEntityName,\n renderChildren,\n splitChildren,\n removeExtraItems,\n appendImages\n} from '../../helpers';\nimport { filtersSetup, filterQuerySetup, shouldSkipSingleQuery, shouldReturn } from './helpers';\n\nconst CardContainer = dynamic(() => import('./CardContainer'));\n\nconst CardRender = ({ entity, entityFields, itemsToDisplay, children, ...otherProps }) => {\n const {\n parent: { itemId, itemEntity },\n filterBy = [],\n filterByProperty = [],\n sortby,\n sort,\n sortProperties = [],\n operator: filterOperator = AND\n } = otherProps;\n\n const updatedSortProperties = [...sortProperties];\n if (!updatedSortProperties.length && sort) {\n updatedSortProperties.unshift({ sort, propsToDisplay: sortby });\n }\n\n const sortbyFilters = updatedSortProperties\n .map(({ propsToDisplay }) => propsToDisplay)\n .filter(Boolean)\n .flat();\n\n const variableProps = {\n ...otherProps,\n sortProperties: updatedSortProperties,\n sort: null,\n sortby: null\n };\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, ...sortbyFilters], 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 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"}
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","getRequiredSchemas","sortResponseData","getUnpublishedEntityName","renderChildren","splitChildren","removeExtraItems","appendImages","filtersSetup","filterQuerySetup","shouldSkipSingleQuery","shouldReturn","CardContainer","CardRender","entity","entityFields","itemsToDisplay","children","otherProps","isPreview","parent","itemId","itemEntity","filterBy","filterByProperty","sortby","sort","sortProperties","operator","filterOperator","useRandomSort","updatedSortProperties","length","unshift","propsToDisplay","sortbyFilters","map","filter","Boolean","flat","variableProps","itemEntityUpdated","data","mainSchemas","loading","_loading","error","_error","schemas","Object","values","currentSchema","find","identifier","filterEntitySchema","id","entityType","docType","getAction","queryProps","inheritedFilters","entitySameAsCurrentItemEntity","action","filterEntityRelations","entityData","_err","_load","variables","skip","requiredSchema","schemaLoading","schemaError","updatedFilterBy","limit","getEntitySchemas","cardsError","cardsLoading","fetchPolicy","imageIds","imageId","imagesData","imagesLoading","isLoading","hasError","message","results","cardData","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 '@apollo/client';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { SEARCH_PUBLISHED_CONTENT, AND } from '../../constants';\nimport { useGetEntitySchemasAsObj, useGetImages } from '../../hooks';\nimport {\n getUpdatedFilterBy,\n getEntityData,\n getRequiredSchemas,\n sortResponseData,\n getUnpublishedEntityName,\n renderChildren,\n splitChildren,\n removeExtraItems,\n appendImages\n} from '../../helpers';\nimport { filtersSetup, filterQuerySetup, shouldSkipSingleQuery, shouldReturn } from './helpers';\n\nconst CardContainer = dynamic(() => import('./CardContainer'));\n\nconst CardRender = ({ entity, entityFields, itemsToDisplay, children, ...otherProps }) => {\n const { isPreview } = useContext(MainContext);\n const {\n parent: { itemId, itemEntity },\n filterBy = [],\n filterByProperty = [],\n sortby,\n sort,\n sortProperties = [],\n operator: filterOperator = AND,\n useRandomSort\n } = otherProps;\n\n const updatedSortProperties = [...sortProperties];\n if (!updatedSortProperties.length && sort) {\n updatedSortProperties.unshift({ sort, propsToDisplay: sortby });\n }\n\n const sortbyFilters = updatedSortProperties\n .map(({ propsToDisplay }) => propsToDisplay)\n .filter(Boolean)\n .flat();\n\n const variableProps = {\n ...otherProps,\n sortProperties: updatedSortProperties,\n sort: null,\n sortby: null\n };\n\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const { data: mainSchemas = {}, loading: _loading, error: _error } = useGetEntitySchemasAsObj([\n itemEntityUpdated,\n entity\n ]);\n\n const schemas = Object.values(mainSchemas);\n const currentSchema = schemas.find(({ identifier }) => identifier === itemEntityUpdated) || {};\n const filterEntitySchema = schemas.find(({ id }) => entity === id) || {};\n const { entityType, docType } = getEntityData(entity, filterEntitySchema);\n\n const {\n getAction,\n queryProps,\n inheritedFilters,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n } = filtersSetup({\n entityFields,\n entityType,\n filterBy,\n filterByProperty,\n entity,\n currentSchema,\n filterEntitySchema,\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, ...sortbyFilters], 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 useRandomSort\n });\n const { data, error: cardsError, loading: cardsLoading } = useQuery(action, {\n variables,\n fetchPolicy: useRandomSort ? 'cache-and-network' : 'cache-first',\n skip: shouldReturn(!updatedFilterBy, _loading, _load, schemaLoading, _error, _err, schemaError)\n });\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 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 = useRandomSort ? cardData : 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"}
@@ -17,7 +17,9 @@ const filterQuerySetup = ({
17
17
  filterOperator,
18
18
  filterEntityRelations,
19
19
  itemsToDisplay,
20
- entitySameAsCurrentItemEntity
20
+ entitySameAsCurrentItemEntity,
21
+ entitySchema,
22
+ useRandomSort
21
23
  }) => {
22
24
  const stringProps = getStringTypeProps(entity, filterEntityRelations, getEntitySchemas);
23
25
  const filterValues = updatedFilterBy && updatedFilterBy.length ? buildSetFilters(_objectSpread(_objectSpread({}, variableProps), {}, {
@@ -31,7 +33,9 @@ const filterQuerySetup = ({
31
33
  relations: filterEntityRelations,
32
34
  stringProps,
33
35
  itemsToDisplay,
34
- addListFiltersToQuery: true
36
+ addListFiltersToQuery: true,
37
+ entity,
38
+ entitySchema
35
39
  })
36
40
  }; // increase limit to get extra item in case results contain current parent
37
41
 
@@ -43,7 +47,7 @@ const filterQuerySetup = ({
43
47
  const requestLimit = entitySameAsCurrentItemEntity ? Number(limit) + 1 : limit;
44
48
  const variables = getGenericRenderVariables(filterEntityRelations, _objectSpread(_objectSpread({}, variableProps), {}, {
45
49
  limit: requestLimit
46
- }), stringProps, JSON.stringify(rawQuery));
50
+ }), stringProps, rawQuery, false, useRandomSort);
47
51
  return {
48
52
  variables,
49
53
  limit
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Card/helpers/filter-query-setup.js"],"names":["getStringTypeProps","getGenericRenderVariables","buildRawQueryBase","buildSetFilters","DEFAULT_LIMIT","filterQuerySetup","getEntitySchemas","entity","updatedFilterBy","variableProps","docType","filterOperator","filterEntityRelations","itemsToDisplay","entitySameAsCurrentItemEntity","stringProps","filterValues","length","filterBy","rawQuery","bool","relations","addListFiltersToQuery","limit","settingsLimit","requestLimit","Number","variables","JSON","stringify"],"mappings":";;;;;;AAAA,SAASA,kBAAT,QAAmC,8BAAnC;AACA,SAASC,yBAAT,EAAoCC,iBAApC,EAAuDC,eAAvD,QAA8E,kBAA9E;AACA,SAASC,aAAT,QAA8B,oBAA9B;;AAEA,MAAMC,gBAAgB,GAAG,CAAC;AACxBC,EAAAA,gBADwB;AAExBC,EAAAA,MAFwB;AAGxBC,EAAAA,eAHwB;AAIxBC,EAAAA,aAJwB;AAKxBC,EAAAA,OALwB;AAMxBC,EAAAA,cANwB;AAOxBC,EAAAA,qBAPwB;AAQxBC,EAAAA,cARwB;AASxBC,EAAAA;AATwB,CAAD,KAUnB;AACJ,QAAMC,WAAW,GAAGf,kBAAkB,CAACO,MAAD,EAASK,qBAAT,EAAgCN,gBAAhC,CAAtC;AACA,QAAMU,YAAY,GAChBR,eAAe,IAAIA,eAAe,CAACS,MAAnC,GACId,eAAe,iCAAMM,aAAN;AAAqBS,IAAAA,QAAQ,EAAEV;AAA/B,KADnB,GAEIL,eAAe,CAACM,aAAD,CAHrB;AAKA,QAAMU,QAAQ,GAAG;AACfC,IAAAA,IAAI,EAAElB,iBAAiB,CAAC;AACtBQ,MAAAA,OADsB;AAEtBM,MAAAA,YAFsB;AAGtBL,MAAAA,cAHsB;AAItBU,MAAAA,SAAS,EAAET,qBAJW;AAKtBG,MAAAA,WALsB;AAMtBF,MAAAA,cANsB;AAOtBS,MAAAA,qBAAqB,EAAE;AAPD,KAAD;AADR,GAAjB,CAPI,CAmBJ;;AACA,QAAM;AAAEC,IAAAA,KAAK,EAAEC;AAAT,MAA2Bf,aAAjC;AACA,QAAMc,KAAK,GAAGC,aAAa,IAAIpB,aAA/B,CArBI,CAqB0C;;AAC9C,QAAMqB,YAAY,GAAGX,6BAA6B,GAAGY,MAAM,CAACH,KAAD,CAAN,GAAgB,CAAnB,GAAuBA,KAAzE;AACA,QAAMI,SAAS,GAAG1B,yBAAyB,CACzCW,qBADyC,kCAEpCH,aAFoC;AAErBc,IAAAA,KAAK,EAAEE;AAFc,MAGzCV,WAHyC,EAIzCa,IAAI,CAACC,SAAL,CAAeV,QAAf,CAJyC,CAA3C;AAOA,SAAO;AAAEQ,IAAAA,SAAF;AAAaJ,IAAAA;AAAb,GAAP;AACD,CAzCD;;AA2CA,eAAelB,gBAAf","sourcesContent":["import { getStringTypeProps } from '@blaze-cms/utils/src/helpers';\nimport { getGenericRenderVariables, buildRawQueryBase, buildSetFilters } from '../../../helpers';\nimport { DEFAULT_LIMIT } from '../../../constants';\n\nconst filterQuerySetup = ({\n getEntitySchemas,\n entity,\n updatedFilterBy,\n variableProps,\n docType,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay,\n entitySameAsCurrentItemEntity\n}) => {\n const stringProps = getStringTypeProps(entity, filterEntityRelations, getEntitySchemas);\n const filterValues =\n updatedFilterBy && updatedFilterBy.length\n ? buildSetFilters({ ...variableProps, filterBy: updatedFilterBy })\n : buildSetFilters(variableProps);\n\n const rawQuery = {\n bool: buildRawQueryBase({\n docType,\n filterValues,\n filterOperator,\n relations: filterEntityRelations,\n stringProps,\n itemsToDisplay,\n addListFiltersToQuery: true\n })\n };\n\n // increase limit to get extra item in case results contain current parent\n const { limit: settingsLimit } = variableProps;\n const limit = settingsLimit || DEFAULT_LIMIT; // all falsey should use default\n const requestLimit = entitySameAsCurrentItemEntity ? Number(limit) + 1 : limit;\n const variables = getGenericRenderVariables(\n filterEntityRelations,\n { ...variableProps, limit: requestLimit },\n stringProps,\n JSON.stringify(rawQuery)\n );\n\n return { variables, limit };\n};\n\nexport default filterQuerySetup;\n"],"file":"filter-query-setup.js"}
1
+ {"version":3,"sources":["../../../../src/components/Card/helpers/filter-query-setup.js"],"names":["getStringTypeProps","getGenericRenderVariables","buildRawQueryBase","buildSetFilters","DEFAULT_LIMIT","filterQuerySetup","getEntitySchemas","entity","updatedFilterBy","variableProps","docType","filterOperator","filterEntityRelations","itemsToDisplay","entitySameAsCurrentItemEntity","entitySchema","useRandomSort","stringProps","filterValues","length","filterBy","rawQuery","bool","relations","addListFiltersToQuery","limit","settingsLimit","requestLimit","Number","variables"],"mappings":";;;;;;AAAA,SAASA,kBAAT,QAAmC,8BAAnC;AACA,SAASC,yBAAT,EAAoCC,iBAApC,EAAuDC,eAAvD,QAA8E,kBAA9E;AACA,SAASC,aAAT,QAA8B,oBAA9B;;AAEA,MAAMC,gBAAgB,GAAG,CAAC;AACxBC,EAAAA,gBADwB;AAExBC,EAAAA,MAFwB;AAGxBC,EAAAA,eAHwB;AAIxBC,EAAAA,aAJwB;AAKxBC,EAAAA,OALwB;AAMxBC,EAAAA,cANwB;AAOxBC,EAAAA,qBAPwB;AAQxBC,EAAAA,cARwB;AASxBC,EAAAA,6BATwB;AAUxBC,EAAAA,YAVwB;AAWxBC,EAAAA;AAXwB,CAAD,KAYnB;AACJ,QAAMC,WAAW,GAAGjB,kBAAkB,CAACO,MAAD,EAASK,qBAAT,EAAgCN,gBAAhC,CAAtC;AACA,QAAMY,YAAY,GAChBV,eAAe,IAAIA,eAAe,CAACW,MAAnC,GACIhB,eAAe,iCAAMM,aAAN;AAAqBW,IAAAA,QAAQ,EAAEZ;AAA/B,KADnB,GAEIL,eAAe,CAACM,aAAD,CAHrB;AAKA,QAAMY,QAAQ,GAAG;AACfC,IAAAA,IAAI,EAAEpB,iBAAiB,CAAC;AACtBQ,MAAAA,OADsB;AAEtBQ,MAAAA,YAFsB;AAGtBP,MAAAA,cAHsB;AAItBY,MAAAA,SAAS,EAAEX,qBAJW;AAKtBK,MAAAA,WALsB;AAMtBJ,MAAAA,cANsB;AAOtBW,MAAAA,qBAAqB,EAAE,IAPD;AAQtBjB,MAAAA,MARsB;AAStBQ,MAAAA;AATsB,KAAD;AADR,GAAjB,CAPI,CAqBJ;;AACA,QAAM;AAAEU,IAAAA,KAAK,EAAEC;AAAT,MAA2BjB,aAAjC;AACA,QAAMgB,KAAK,GAAGC,aAAa,IAAItB,aAA/B,CAvBI,CAuB0C;;AAC9C,QAAMuB,YAAY,GAAGb,6BAA6B,GAAGc,MAAM,CAACH,KAAD,CAAN,GAAgB,CAAnB,GAAuBA,KAAzE;AACA,QAAMI,SAAS,GAAG5B,yBAAyB,CACzCW,qBADyC,kCAEpCH,aAFoC;AAErBgB,IAAAA,KAAK,EAAEE;AAFc,MAGzCV,WAHyC,EAIzCI,QAJyC,EAKzC,KALyC,EAMzCL,aANyC,CAA3C;AASA,SAAO;AAAEa,IAAAA,SAAF;AAAaJ,IAAAA;AAAb,GAAP;AACD,CA/CD;;AAiDA,eAAepB,gBAAf","sourcesContent":["import { getStringTypeProps } from '@blaze-cms/utils/src/helpers';\nimport { getGenericRenderVariables, buildRawQueryBase, buildSetFilters } from '../../../helpers';\nimport { DEFAULT_LIMIT } from '../../../constants';\n\nconst filterQuerySetup = ({\n getEntitySchemas,\n entity,\n updatedFilterBy,\n variableProps,\n docType,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay,\n entitySameAsCurrentItemEntity,\n entitySchema,\n useRandomSort\n}) => {\n const stringProps = getStringTypeProps(entity, filterEntityRelations, getEntitySchemas);\n const filterValues =\n updatedFilterBy && updatedFilterBy.length\n ? buildSetFilters({ ...variableProps, filterBy: updatedFilterBy })\n : buildSetFilters(variableProps);\n\n const rawQuery = {\n bool: buildRawQueryBase({\n docType,\n filterValues,\n filterOperator,\n relations: filterEntityRelations,\n stringProps,\n itemsToDisplay,\n addListFiltersToQuery: true,\n entity,\n entitySchema\n })\n };\n\n // increase limit to get extra item in case results contain current parent\n const { limit: settingsLimit } = variableProps;\n const limit = settingsLimit || DEFAULT_LIMIT; // all falsey should use default\n const requestLimit = entitySameAsCurrentItemEntity ? Number(limit) + 1 : limit;\n const variables = getGenericRenderVariables(\n filterEntityRelations,\n { ...variableProps, limit: requestLimit },\n stringProps,\n rawQuery,\n false,\n useRandomSort\n );\n\n return { variables, limit };\n};\n\nexport default filterQuerySetup;\n"],"file":"filter-query-setup.js"}
@@ -7,7 +7,8 @@ const filtersSetup = ({
7
7
  filterBy,
8
8
  filterByProperty,
9
9
  entity,
10
- getEntitySchemas,
10
+ currentSchema,
11
+ filterEntitySchema,
11
12
  isPreview,
12
13
  itemEntityUpdated
13
14
  }) => {
@@ -15,12 +16,6 @@ const filtersSetup = ({
15
16
  const action = getSearchPublishedContent(fields);
16
17
  const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);
17
18
  const entitySameAsCurrentItemEntity = itemEntityUpdated === entity;
18
- const currentSchema = getEntitySchemas.find(({
19
- identifier
20
- }) => identifier === itemEntityUpdated) || {};
21
- const filterEntitySchema = getEntitySchemas.find(({
22
- id
23
- }) => entity === id) || {};
24
19
  const {
25
20
  relations: filterEntityRelations = []
26
21
  } = filterEntitySchema;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Card/helpers/filters-setup.js"],"names":["buildQueryFields","getInheritedFilters","getQueryProps","getSearchPublishedContent","filtersSetup","entityFields","entityType","filterBy","filterByProperty","entity","getEntitySchemas","isPreview","itemEntityUpdated","fields","action","inheritedFilters","entitySameAsCurrentItemEntity","currentSchema","find","identifier","filterEntitySchema","id","relations","filterEntityRelations","queryProps","actions","getAction","get","getPublished"],"mappings":"AAAA,SAASA,gBAAT,EAA2BC,mBAA3B,EAAgDC,aAAhD,QAAqE,kBAArE;AACA,SAASC,yBAAT,QAA0C,4BAA1C;;AAEA,MAAMC,YAAY,GAAG,CAAC;AACpBC,EAAAA,YADoB;AAEpBC,EAAAA,UAFoB;AAGpBC,EAAAA,QAHoB;AAIpBC,EAAAA,gBAJoB;AAKpBC,EAAAA,MALoB;AAMpBC,EAAAA,gBANoB;AAOpBC,EAAAA,SAPoB;AAQpBC,EAAAA;AARoB,CAAD,KASf;AACJ,QAAMC,MAAM,GAAGb,gBAAgB,CAACK,YAAD,EAAeC,UAAf,CAA/B;AACA,QAAMQ,MAAM,GAAGX,yBAAyB,CAACU,MAAD,CAAxC;AACA,QAAME,gBAAgB,GAAGd,mBAAmB,CAACM,QAAD,EAAWC,gBAAX,CAA5C;AAEA,QAAMQ,6BAA6B,GAAGJ,iBAAiB,KAAKH,MAA5D;AACA,QAAMQ,aAAa,GACjBP,gBAAgB,CAACQ,IAAjB,CAAsB,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAoBA,UAAU,KAAKP,iBAAzD,KAA+E,EADjF;AAEA,QAAMQ,kBAAkB,GAAGV,gBAAgB,CAACQ,IAAjB,CAAsB,CAAC;AAAEG,IAAAA;AAAF,GAAD,KAAYZ,MAAM,KAAKY,EAA7C,KAAoD,EAA/E;AACA,QAAM;AAAEC,IAAAA,SAAS,EAAEC,qBAAqB,GAAG;AAArC,MAA4CH,kBAAlD;AACA,QAAMI,UAAU,GAAGtB,aAAa,CAACa,gBAAD,EAAmBE,aAAnB,EAAkCG,kBAAlC,CAAhC;AACA,QAAM;AAAEK,IAAAA,OAAO,GAAG;AAAZ,MAAmBR,aAAa,IAAI,EAA1C;AACA,QAAMS,SAAS,GAAGf,SAAS,GAAGc,OAAO,CAACE,GAAX,GAAiBF,OAAO,CAACG,YAApD;AAEA,SAAO;AACLF,IAAAA,SADK;AAELF,IAAAA,UAFK;AAGLT,IAAAA,gBAHK;AAILE,IAAAA,aAJK;AAKLG,IAAAA,kBALK;AAMLJ,IAAAA,6BANK;AAOLF,IAAAA,MAPK;AAQLS,IAAAA;AARK,GAAP;AAUD,CAjCD;;AAmCA,eAAenB,YAAf","sourcesContent":["import { buildQueryFields, getInheritedFilters, getQueryProps } from '../../../helpers';\nimport { getSearchPublishedContent } from '../../../application/query';\n\nconst filtersSetup = ({\n entityFields,\n entityType,\n filterBy,\n filterByProperty,\n entity,\n getEntitySchemas,\n isPreview,\n itemEntityUpdated\n}) => {\n const fields = buildQueryFields(entityFields, entityType);\n const action = getSearchPublishedContent(fields);\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n\n const entitySameAsCurrentItemEntity = itemEntityUpdated === entity;\n const currentSchema =\n getEntitySchemas.find(({ identifier }) => identifier === itemEntityUpdated) || {};\n const filterEntitySchema = getEntitySchemas.find(({ id }) => entity === id) || {};\n const { relations: filterEntityRelations = [] } = filterEntitySchema;\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n return {\n getAction,\n queryProps,\n inheritedFilters,\n currentSchema,\n filterEntitySchema,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n };\n};\n\nexport default filtersSetup;\n"],"file":"filters-setup.js"}
1
+ {"version":3,"sources":["../../../../src/components/Card/helpers/filters-setup.js"],"names":["buildQueryFields","getInheritedFilters","getQueryProps","getSearchPublishedContent","filtersSetup","entityFields","entityType","filterBy","filterByProperty","entity","currentSchema","filterEntitySchema","isPreview","itemEntityUpdated","fields","action","inheritedFilters","entitySameAsCurrentItemEntity","relations","filterEntityRelations","queryProps","actions","getAction","get","getPublished"],"mappings":"AAAA,SAASA,gBAAT,EAA2BC,mBAA3B,EAAgDC,aAAhD,QAAqE,kBAArE;AACA,SAASC,yBAAT,QAA0C,4BAA1C;;AAEA,MAAMC,YAAY,GAAG,CAAC;AACpBC,EAAAA,YADoB;AAEpBC,EAAAA,UAFoB;AAGpBC,EAAAA,QAHoB;AAIpBC,EAAAA,gBAJoB;AAKpBC,EAAAA,MALoB;AAMpBC,EAAAA,aANoB;AAOpBC,EAAAA,kBAPoB;AAQpBC,EAAAA,SARoB;AASpBC,EAAAA;AAToB,CAAD,KAUf;AACJ,QAAMC,MAAM,GAAGd,gBAAgB,CAACK,YAAD,EAAeC,UAAf,CAA/B;AACA,QAAMS,MAAM,GAAGZ,yBAAyB,CAACW,MAAD,CAAxC;AACA,QAAME,gBAAgB,GAAGf,mBAAmB,CAACM,QAAD,EAAWC,gBAAX,CAA5C;AACA,QAAMS,6BAA6B,GAAGJ,iBAAiB,KAAKJ,MAA5D;AACA,QAAM;AAAES,IAAAA,SAAS,EAAEC,qBAAqB,GAAG;AAArC,MAA4CR,kBAAlD;AACA,QAAMS,UAAU,GAAGlB,aAAa,CAACc,gBAAD,EAAmBN,aAAnB,EAAkCC,kBAAlC,CAAhC;AACA,QAAM;AAAEU,IAAAA,OAAO,GAAG;AAAZ,MAAmBX,aAAa,IAAI,EAA1C;AACA,QAAMY,SAAS,GAAGV,SAAS,GAAGS,OAAO,CAACE,GAAX,GAAiBF,OAAO,CAACG,YAApD;AAEA,SAAO;AACLF,IAAAA,SADK;AAELF,IAAAA,UAFK;AAGLJ,IAAAA,gBAHK;AAILN,IAAAA,aAJK;AAKLC,IAAAA,kBALK;AAMLM,IAAAA,6BANK;AAOLF,IAAAA,MAPK;AAQLI,IAAAA;AARK,GAAP;AAUD,CA9BD;;AAgCA,eAAef,YAAf","sourcesContent":["import { buildQueryFields, getInheritedFilters, getQueryProps } from '../../../helpers';\nimport { getSearchPublishedContent } from '../../../application/query';\n\nconst filtersSetup = ({\n entityFields,\n entityType,\n filterBy,\n filterByProperty,\n entity,\n currentSchema,\n filterEntitySchema,\n isPreview,\n itemEntityUpdated\n}) => {\n const fields = buildQueryFields(entityFields, entityType);\n const action = getSearchPublishedContent(fields);\n const inheritedFilters = getInheritedFilters(filterBy, filterByProperty);\n const entitySameAsCurrentItemEntity = itemEntityUpdated === entity;\n const { relations: filterEntityRelations = [] } = filterEntitySchema;\n const queryProps = getQueryProps(inheritedFilters, currentSchema, filterEntitySchema);\n const { actions = {} } = currentSchema || {};\n const getAction = isPreview ? actions.get : actions.getPublished;\n\n return {\n getAction,\n queryProps,\n inheritedFilters,\n currentSchema,\n filterEntitySchema,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n };\n};\n\nexport default filtersSetup;\n"],"file":"filters-setup.js"}
@@ -59,7 +59,7 @@ const ListBuilder = props => {
59
59
  const {
60
60
  entityType,
61
61
  docType
62
- } = getEntityData(entity);
62
+ } = getEntityData(entity, requiredSchema);
63
63
  const fields = buildQueryFields(entityFields, entityType, !isCard);
64
64
  const action = getSearchPublishedContent(fields);
65
65
  const actionKey = SEARCH_PUBLISHED_CONTENT;
@@ -86,7 +86,7 @@ const ListBuilder = props => {
86
86
  sort,
87
87
  sortby,
88
88
  sortProperties
89
- }), stringProps, JSON.stringify(azRawQuery), isTextSearchFilterApplied);
89
+ }), stringProps, azRawQuery, isTextSearchFilterApplied);
90
90
  const azAction = getSearchPublishedContent(RAW_RESULTS);
91
91
  const {
92
92
  data,
@@ -116,7 +116,7 @@ const ListBuilder = props => {
116
116
  sort,
117
117
  sortby,
118
118
  sortProperties
119
- }), stringProps, JSON.stringify(rawQuery), isTextSearchFilterApplied);
119
+ }), stringProps, rawQuery, isTextSearchFilterApplied);
120
120
  return /*#__PURE__*/React.createElement(ListRender, _extends({
121
121
  variables: variables,
122
122
  isInfinite: isInfinite,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/List/ListBuilder.js"],"names":["React","PropTypes","useQuery","getStringTypeProps","CardRenderWithInfiniteScroll","CardsRender","FullRender","FullRenderWithInfiniteScroll","ListRender","getSearchPublishedContent","buildRawQuery","buildQueryFields","buildSetFilters","getGenericRenderVariables","getEntityData","getCurrentOffset","getUpdatedFilterBy","checkPropsToUse","buildPropsQuery","sortAggs","getItemsPerPageToUse","buildAzAggregations","SEARCH_PUBLISHED_CONTENT","INFINITE","CLASSIC","RAW_RESULTS","ListBuilder","props","entitySchema","isCard","isAZ","inheritedFilters","paginationType","entity","isTextSearchFilterApplied","parent","itemId","itemsPerPage","itemsToDisplay","limit","propsToDisplay","offset","entityData","sortby","sort","paginationIndex","omitWrappers","operator","filterOperator","currentSchema","filterEntitySchema","requiredSchema","searchValues","azFilter","sortProperties","isInfinite","listComponent","getListComponent","propsToDisplayValues","entityFields","limitToUse","length","shouldApplyDefaultSort","itemsPerPageToUse","initialOffset","entityType","docType","fields","action","actionKey","updatedFilterBy","filterValues","filterBy","relations","stringProps","Object","values","azRawQuery","shouldReturnAggs","azVariables","JSON","stringify","azAction","data","error","loading","variables","skip","message","listAggregations","updatedAggregations","rawQuery","propTypes","string","isRequired","object","bool","number","array","defaultProps","isNotClassic"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getStringTypeProps } from '@blaze-cms/utils/src/helpers';\nimport {\n CardRenderWithInfiniteScroll,\n CardsRender,\n FullRender,\n FullRenderWithInfiniteScroll\n} from './components';\nimport ListRender from './ListRender';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildRawQuery,\n buildQueryFields,\n buildSetFilters,\n getGenericRenderVariables,\n getEntityData,\n getCurrentOffset,\n getUpdatedFilterBy,\n checkPropsToUse,\n buildPropsQuery\n} from '../../helpers';\nimport { sortAggs, getItemsPerPageToUse, buildAzAggregations } from './helpers';\nimport { SEARCH_PUBLISHED_CONTENT, INFINITE, CLASSIC } from '../../constants';\nimport { RAW_RESULTS } from './constants';\n\nconst ListBuilder = props => {\n const {\n entitySchema,\n isCard,\n isAZ,\n inheritedFilters,\n paginationType,\n entity,\n isTextSearchFilterApplied,\n parent: { itemId },\n itemsPerPage,\n itemsToDisplay,\n limit,\n propsToDisplay,\n offset,\n entityData,\n sortby,\n sort,\n paginationIndex,\n omitWrappers,\n operator,\n filterOperator,\n currentSchema,\n filterEntitySchema,\n requiredSchema,\n searchValues,\n azFilter,\n sortProperties\n } = props;\n const isInfinite = paginationType === INFINITE;\n const listComponent = getListComponent(isCard, paginationType);\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const entityFields = buildPropsQuery(entitySchema, propsToDisplayValues, props) || '';\n const limitToUse = limit || itemsToDisplay.length;\n const shouldApplyDefaultSort = !sortProperties || !sortProperties.length;\n const itemsPerPageToUse = getItemsPerPageToUse(itemsPerPage, limitToUse);\n const initialOffset = getCurrentOffset(offset, itemsPerPageToUse, paginationIndex, limitToUse);\n const { entityType, docType } = getEntityData(entity);\n const fields = buildQueryFields(entityFields, entityType, !isCard);\n const action = getSearchPublishedContent(fields);\n const actionKey = SEARCH_PUBLISHED_CONTENT;\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n props\n );\n\n const filterValues =\n updatedFilterBy && updatedFilterBy.length\n ? buildSetFilters({ ...props, filterBy: updatedFilterBy })\n : buildSetFilters({ ...props });\n\n const { relations = [] } = filterEntitySchema;\n const stringProps = getStringTypeProps(entity, relations, Object.values(requiredSchema));\n\n const azRawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: true, isAZ }\n );\n\n const azVariables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby,\n sortProperties\n },\n stringProps,\n JSON.stringify(azRawQuery),\n isTextSearchFilterApplied\n );\n\n const azAction = getSearchPublishedContent(RAW_RESULTS);\n const { data, error, loading } = useQuery(azAction, {\n variables: azVariables,\n skip: !isAZ\n });\n if (loading) return '';\n if (error) return error.message;\n\n const listAggregations = isAZ ? sortAggs(data) : [];\n const updatedAggregations = buildAzAggregations(listAggregations);\n\n const rawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps,\n azFilter\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: false, isAZ }\n );\n\n const variables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby,\n sortProperties\n },\n stringProps,\n JSON.stringify(rawQuery),\n isTextSearchFilterApplied\n );\n\n return (\n <ListRender\n variables={variables}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n itemsPerPageToUse={itemsPerPageToUse}\n action={action}\n omitWrappers={omitWrappers}\n listComponent={listComponent}\n listAggregations={updatedAggregations}\n isAZ={isAZ}\n azFilter={azFilter}\n {...props}\n />\n );\n};\n\nListBuilder.propTypes = {\n entity: PropTypes.string.isRequired,\n entitySchema: PropTypes.object.isRequired,\n isCard: PropTypes.bool.isRequired,\n isAZ: PropTypes.bool.isRequired,\n isTextSearchFilterApplied: PropTypes.bool.isRequired,\n parent: PropTypes.object.isRequired,\n itemsPerPage: PropTypes.number.isRequired,\n paginationIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n currentSchema: PropTypes.object.isRequired,\n filterEntitySchema: PropTypes.object.isRequired,\n requiredSchema: PropTypes.object.isRequired,\n searchValues: PropTypes.object.isRequired,\n inheritedFilters: PropTypes.array,\n entityData: PropTypes.object,\n itemsToDisplay: PropTypes.array,\n limit: PropTypes.number,\n omitWrappers: PropTypes.bool,\n offset: PropTypes.number,\n sortby: PropTypes.array.isRequired,\n sort: PropTypes.string.isRequired,\n operator: PropTypes.string.isRequired,\n filterOperator: PropTypes.string.isRequired,\n paginationType: PropTypes.string,\n azFilter: PropTypes.string,\n sortProperties: PropTypes.array\n};\n\nListBuilder.defaultProps = {\n entityData: {},\n itemsToDisplay: [],\n limit: 0,\n omitWrappers: false,\n offset: 0,\n paginationType: 'infinite',\n inheritedFilters: [],\n azFilter: '',\n sortProperties: []\n};\n\nexport default ListBuilder;\nfunction getListComponent(isCard, paginationType) {\n const isNotClassic = paginationType !== CLASSIC;\n\n if (isCard) return isNotClassic ? CardRenderWithInfiniteScroll : CardsRender;\n\n return isNotClassic ? FullRenderWithInfiniteScroll : FullRender;\n}\n"],"file":"ListBuilder.js"}
1
+ {"version":3,"sources":["../../../src/components/List/ListBuilder.js"],"names":["React","PropTypes","useQuery","getStringTypeProps","CardRenderWithInfiniteScroll","CardsRender","FullRender","FullRenderWithInfiniteScroll","ListRender","getSearchPublishedContent","buildRawQuery","buildQueryFields","buildSetFilters","getGenericRenderVariables","getEntityData","getCurrentOffset","getUpdatedFilterBy","checkPropsToUse","buildPropsQuery","sortAggs","getItemsPerPageToUse","buildAzAggregations","SEARCH_PUBLISHED_CONTENT","INFINITE","CLASSIC","RAW_RESULTS","ListBuilder","props","entitySchema","isCard","isAZ","inheritedFilters","paginationType","entity","isTextSearchFilterApplied","parent","itemId","itemsPerPage","itemsToDisplay","limit","propsToDisplay","offset","entityData","sortby","sort","paginationIndex","omitWrappers","operator","filterOperator","currentSchema","filterEntitySchema","requiredSchema","searchValues","azFilter","sortProperties","isInfinite","listComponent","getListComponent","propsToDisplayValues","entityFields","limitToUse","length","shouldApplyDefaultSort","itemsPerPageToUse","initialOffset","entityType","docType","fields","action","actionKey","updatedFilterBy","filterValues","filterBy","relations","stringProps","Object","values","azRawQuery","shouldReturnAggs","azVariables","azAction","data","error","loading","variables","skip","message","listAggregations","updatedAggregations","rawQuery","propTypes","string","isRequired","object","bool","number","array","defaultProps","isNotClassic"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getStringTypeProps } from '@blaze-cms/utils/src/helpers';\nimport {\n CardRenderWithInfiniteScroll,\n CardsRender,\n FullRender,\n FullRenderWithInfiniteScroll\n} from './components';\nimport ListRender from './ListRender';\nimport { getSearchPublishedContent } from '../../application/query';\nimport {\n buildRawQuery,\n buildQueryFields,\n buildSetFilters,\n getGenericRenderVariables,\n getEntityData,\n getCurrentOffset,\n getUpdatedFilterBy,\n checkPropsToUse,\n buildPropsQuery\n} from '../../helpers';\nimport { sortAggs, getItemsPerPageToUse, buildAzAggregations } from './helpers';\nimport { SEARCH_PUBLISHED_CONTENT, INFINITE, CLASSIC } from '../../constants';\nimport { RAW_RESULTS } from './constants';\n\nconst ListBuilder = props => {\n const {\n entitySchema,\n isCard,\n isAZ,\n inheritedFilters,\n paginationType,\n entity,\n isTextSearchFilterApplied,\n parent: { itemId },\n itemsPerPage,\n itemsToDisplay,\n limit,\n propsToDisplay,\n offset,\n entityData,\n sortby,\n sort,\n paginationIndex,\n omitWrappers,\n operator,\n filterOperator,\n currentSchema,\n filterEntitySchema,\n requiredSchema,\n searchValues,\n azFilter,\n sortProperties\n } = props;\n const isInfinite = paginationType === INFINITE;\n const listComponent = getListComponent(isCard, paginationType);\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const entityFields = buildPropsQuery(entitySchema, propsToDisplayValues, props) || '';\n const limitToUse = limit || itemsToDisplay.length;\n const shouldApplyDefaultSort = !sortProperties || !sortProperties.length;\n const itemsPerPageToUse = getItemsPerPageToUse(itemsPerPage, limitToUse);\n const initialOffset = getCurrentOffset(offset, itemsPerPageToUse, paginationIndex, limitToUse);\n const { entityType, docType } = getEntityData(entity, requiredSchema);\n const fields = buildQueryFields(entityFields, entityType, !isCard);\n const action = getSearchPublishedContent(fields);\n const actionKey = SEARCH_PUBLISHED_CONTENT;\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n props\n );\n\n const filterValues =\n updatedFilterBy && updatedFilterBy.length\n ? buildSetFilters({ ...props, filterBy: updatedFilterBy })\n : buildSetFilters({ ...props });\n\n const { relations = [] } = filterEntitySchema;\n const stringProps = getStringTypeProps(entity, relations, Object.values(requiredSchema));\n\n const azRawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: true, isAZ }\n );\n\n const azVariables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby,\n sortProperties\n },\n stringProps,\n azRawQuery,\n isTextSearchFilterApplied\n );\n\n const azAction = getSearchPublishedContent(RAW_RESULTS);\n const { data, error, loading } = useQuery(azAction, {\n variables: azVariables,\n skip: !isAZ\n });\n if (loading) return '';\n if (error) return error.message;\n\n const listAggregations = isAZ ? sortAggs(data) : [];\n const updatedAggregations = buildAzAggregations(listAggregations);\n\n const rawQuery = buildRawQuery(\n docType,\n operator,\n searchValues,\n {\n filterValues,\n filterOperator,\n relations,\n stringProps,\n azFilter\n },\n itemId,\n itemsToDisplay,\n shouldApplyDefaultSort,\n { shouldReturnAggs: false, isAZ }\n );\n\n const variables = getGenericRenderVariables(\n relations,\n {\n ...props,\n limit: itemsPerPageToUse,\n offset: initialOffset,\n sort,\n sortby,\n sortProperties\n },\n stringProps,\n rawQuery,\n isTextSearchFilterApplied\n );\n\n return (\n <ListRender\n variables={variables}\n isInfinite={isInfinite}\n initialOffset={initialOffset}\n actionKey={actionKey}\n limitToUse={limitToUse}\n itemsPerPageToUse={itemsPerPageToUse}\n action={action}\n omitWrappers={omitWrappers}\n listComponent={listComponent}\n listAggregations={updatedAggregations}\n isAZ={isAZ}\n azFilter={azFilter}\n {...props}\n />\n );\n};\n\nListBuilder.propTypes = {\n entity: PropTypes.string.isRequired,\n entitySchema: PropTypes.object.isRequired,\n isCard: PropTypes.bool.isRequired,\n isAZ: PropTypes.bool.isRequired,\n isTextSearchFilterApplied: PropTypes.bool.isRequired,\n parent: PropTypes.object.isRequired,\n itemsPerPage: PropTypes.number.isRequired,\n paginationIndex: PropTypes.number.isRequired,\n propsToDisplay: PropTypes.array.isRequired,\n currentSchema: PropTypes.object.isRequired,\n filterEntitySchema: PropTypes.object.isRequired,\n requiredSchema: PropTypes.object.isRequired,\n searchValues: PropTypes.object.isRequired,\n inheritedFilters: PropTypes.array,\n entityData: PropTypes.object,\n itemsToDisplay: PropTypes.array,\n limit: PropTypes.number,\n omitWrappers: PropTypes.bool,\n offset: PropTypes.number,\n sortby: PropTypes.array.isRequired,\n sort: PropTypes.string.isRequired,\n operator: PropTypes.string.isRequired,\n filterOperator: PropTypes.string.isRequired,\n paginationType: PropTypes.string,\n azFilter: PropTypes.string,\n sortProperties: PropTypes.array\n};\n\nListBuilder.defaultProps = {\n entityData: {},\n itemsToDisplay: [],\n limit: 0,\n omitWrappers: false,\n offset: 0,\n paginationType: 'infinite',\n inheritedFilters: [],\n azFilter: '',\n sortProperties: []\n};\n\nexport default ListBuilder;\nfunction getListComponent(isCard, paginationType) {\n const isNotClassic = paginationType !== CLASSIC;\n\n if (isCard) return isNotClassic ? CardRenderWithInfiniteScroll : CardsRender;\n\n return isNotClassic ? FullRenderWithInfiniteScroll : FullRender;\n}\n"],"file":"ListBuilder.js"}
@@ -46,26 +46,29 @@ const getTypeBaseProps = (data, cardOptions, extraPropsHaveCategory) => {
46
46
  const {
47
47
  interfaces,
48
48
  properties,
49
- dynamicProperties
49
+ dynamicProperties,
50
+ relations
50
51
  } = getEntitySchema;
51
52
  const isContent = !!interfaces.includes('content/content');
52
53
  const hasCategory = checkProps(properties) || checkProps(dynamicProperties);
53
54
  const hasPreheader = properties[PREHEADER_PROP];
54
55
  const typeBasedProps = [...defaultProps];
55
56
  typeBasedProps.push(...getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader));
56
- typeBasedProps.push(...getContentProps(isContent, displayThumbnail));
57
+ typeBasedProps.push(...getContentProps(isContent));
58
+
59
+ if (displayThumbnail && relations.find(({
60
+ localField
61
+ }) => localField === 'image')) {
62
+ typeBasedProps.push('image.id', 'image.url', 'image.data');
63
+ }
64
+
57
65
  return {
58
66
  typeBasedProps,
59
67
  shouldAddCategoryProps
60
68
  };
61
69
  };
62
70
 
63
- const getContentProps = (isContent, displayThumbnail) => {
64
- if (!isContent) return [];
65
- const props = ['url', 'sponsored', 'featured'];
66
- if (displayThumbnail) props.push('image.id', 'image.url', 'image.data');
67
- return props;
68
- };
71
+ const getContentProps = isContent => isContent ? ['url', 'sponsored', 'featured'] : [];
69
72
 
70
73
  const getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {
71
74
  if (!shouldAddCategoryProps) return [];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/helpers/build-props-query.js"],"names":["CATEGORY_ID","ID","PREHEADER_PROP","HEADLINE_PROP","defaultProps","categoryProps","checkProps","props","Object","keys","filter","prop","length","buildPropsQuery","data","extraProps","cardOptions","extraPropsHaveCategory","includes","typeBasedProps","shouldAddCategoryProps","getTypeBaseProps","allProps","uniqueProps","Set","basicProps","i","arr","indexOf","complexProps","buildComplexProps","join","map","nested","split","base","nestedProps","extraProp","startsWith","jointNestedProps","isCard","displayCategory","displayThumbnail","getEntitySchema","interfaces","properties","dynamicProperties","isContent","hasCategory","hasPreheader","push","getCategoyProps","getContentProps"],"mappings":"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","sourcesContent":["import { CATEGORY_ID, ID, PREHEADER_PROP, HEADLINE_PROP } from '../constants';\n\nconst defaultProps = [ID, 'name'];\nconst categoryProps = 'id publishedListingPage{id, url}';\n\nconst checkProps = props =>\n !!(props && Object.keys(props).filter(prop => prop === CATEGORY_ID).length);\n\nconst buildPropsQuery = (data, extraProps = [], cardOptions = null) => {\n const extraPropsHaveCategory = !!extraProps.filter(prop => prop.includes('category.')).length;\n\n const { typeBasedProps, shouldAddCategoryProps } = getTypeBaseProps(\n data,\n cardOptions,\n extraPropsHaveCategory\n );\n\n const allProps = [...typeBasedProps, ...extraProps];\n\n const uniqueProps = [...new Set([...allProps])];\n\n const basicProps = uniqueProps\n .filter(prop => prop && !prop.includes('.'))\n .filter((prop, i, arr) => arr.indexOf(prop) === i);\n const complexProps = buildComplexProps(shouldAddCategoryProps, uniqueProps);\n\n return [...basicProps, ...complexProps].join(',');\n};\n\nconst buildComplexProps = (shouldAddCategoryProps, props) =>\n props\n .filter(prop => prop && prop.includes('.'))\n .map(nested => nested.split('.')[0])\n .filter((prop, i, arr) => arr.indexOf(prop) === i)\n .map(base => {\n const nestedProps = props\n .filter(\n (extraProp, i, arr) =>\n extraProp && extraProp.startsWith(`${base}.`) && arr.indexOf(extraProp) === i\n )\n .map(nested => nested.split('.')[1]);\n\n const jointNestedProps = nestedProps.join(',');\n if (base === 'category' && shouldAddCategoryProps)\n return `${base}{${jointNestedProps}, ${categoryProps}}`;\n if (base.includes('published')) {\n return `${base}{${jointNestedProps},url}`;\n }\n return `${base}{${jointNestedProps}}`;\n });\n\nconst getTypeBaseProps = (data, cardOptions, extraPropsHaveCategory) => {\n const isCard = !!cardOptions;\n const { displayCategory = true, displayThumbnail = true } = cardOptions || {};\n\n const shouldAddCategoryProps =\n (isCard && displayCategory) || (!isCard && !extraPropsHaveCategory);\n\n if (!isCard) return { typeBasedProps: [ID], shouldAddCategoryProps };\n\n const { getEntitySchema } = data;\n const { interfaces, properties, dynamicProperties } = getEntitySchema;\n\n const isContent = !!interfaces.includes('content/content');\n const hasCategory = checkProps(properties) || checkProps(dynamicProperties);\n const hasPreheader = properties[PREHEADER_PROP];\n\n const typeBasedProps = [...defaultProps];\n\n typeBasedProps.push(...getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader));\n typeBasedProps.push(...getContentProps(isContent, displayThumbnail));\n\n return { typeBasedProps, shouldAddCategoryProps };\n};\n\nconst getContentProps = (isContent, displayThumbnail) => {\n if (!isContent) return [];\n\n const props = ['url', 'sponsored', 'featured'];\n if (displayThumbnail) props.push('image.id', 'image.url', 'image.data');\n\n return props;\n};\n\nconst getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {\n if (!shouldAddCategoryProps) return [];\n\n const props = [];\n\n if (hasCategory) {\n props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');\n }\n\n if (hasPreheader) {\n props.push(`${PREHEADER_PROP}{name}`);\n props.push(HEADLINE_PROP);\n }\n\n return props;\n};\n\nexport default buildPropsQuery;\n"],"file":"build-props-query.js"}
1
+ {"version":3,"sources":["../../src/helpers/build-props-query.js"],"names":["CATEGORY_ID","ID","PREHEADER_PROP","HEADLINE_PROP","defaultProps","categoryProps","checkProps","props","Object","keys","filter","prop","length","buildPropsQuery","data","extraProps","cardOptions","extraPropsHaveCategory","includes","typeBasedProps","shouldAddCategoryProps","getTypeBaseProps","allProps","uniqueProps","Set","basicProps","i","arr","indexOf","complexProps","buildComplexProps","join","map","nested","split","base","nestedProps","extraProp","startsWith","jointNestedProps","isCard","displayCategory","displayThumbnail","getEntitySchema","interfaces","properties","dynamicProperties","relations","isContent","hasCategory","hasPreheader","push","getCategoyProps","getContentProps","find","localField"],"mappings":"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","sourcesContent":["import { CATEGORY_ID, ID, PREHEADER_PROP, HEADLINE_PROP } from '../constants';\n\nconst defaultProps = [ID, 'name'];\nconst categoryProps = 'id publishedListingPage{id, url}';\n\nconst checkProps = props =>\n !!(props && Object.keys(props).filter(prop => prop === CATEGORY_ID).length);\n\nconst buildPropsQuery = (data, extraProps = [], cardOptions = null) => {\n const extraPropsHaveCategory = !!extraProps.filter(prop => prop.includes('category.')).length;\n\n const { typeBasedProps, shouldAddCategoryProps } = getTypeBaseProps(\n data,\n cardOptions,\n extraPropsHaveCategory\n );\n\n const allProps = [...typeBasedProps, ...extraProps];\n\n const uniqueProps = [...new Set([...allProps])];\n\n const basicProps = uniqueProps\n .filter(prop => prop && !prop.includes('.'))\n .filter((prop, i, arr) => arr.indexOf(prop) === i);\n const complexProps = buildComplexProps(shouldAddCategoryProps, uniqueProps);\n\n return [...basicProps, ...complexProps].join(',');\n};\n\nconst buildComplexProps = (shouldAddCategoryProps, props) =>\n props\n .filter(prop => prop && prop.includes('.'))\n .map(nested => nested.split('.')[0])\n .filter((prop, i, arr) => arr.indexOf(prop) === i)\n .map(base => {\n const nestedProps = props\n .filter(\n (extraProp, i, arr) =>\n extraProp && extraProp.startsWith(`${base}.`) && arr.indexOf(extraProp) === i\n )\n .map(nested => nested.split('.')[1]);\n\n const jointNestedProps = nestedProps.join(',');\n if (base === 'category' && shouldAddCategoryProps)\n return `${base}{${jointNestedProps}, ${categoryProps}}`;\n if (base.includes('published')) {\n return `${base}{${jointNestedProps},url}`;\n }\n return `${base}{${jointNestedProps}}`;\n });\n\nconst getTypeBaseProps = (data, cardOptions, extraPropsHaveCategory) => {\n const isCard = !!cardOptions;\n const { displayCategory = true, displayThumbnail = true } = cardOptions || {};\n\n const shouldAddCategoryProps =\n (isCard && displayCategory) || (!isCard && !extraPropsHaveCategory);\n\n if (!isCard) return { typeBasedProps: [ID], shouldAddCategoryProps };\n\n const { getEntitySchema } = data;\n const { interfaces, properties, dynamicProperties, relations } = getEntitySchema;\n\n const isContent = !!interfaces.includes('content/content');\n const hasCategory = checkProps(properties) || checkProps(dynamicProperties);\n const hasPreheader = properties[PREHEADER_PROP];\n\n const typeBasedProps = [...defaultProps];\n\n typeBasedProps.push(...getCategoyProps(shouldAddCategoryProps, hasCategory, hasPreheader));\n typeBasedProps.push(...getContentProps(isContent));\n\n if (displayThumbnail && relations.find(({ localField }) => localField === 'image')) {\n typeBasedProps.push('image.id', 'image.url', 'image.data');\n }\n\n return { typeBasedProps, shouldAddCategoryProps };\n};\n\nconst getContentProps = isContent => (isContent ? ['url', 'sponsored', 'featured'] : []);\n\nconst getCategoyProps = (shouldAddCategoryProps, hasCategory, hasPreheader) => {\n if (!shouldAddCategoryProps) return [];\n\n const props = [];\n\n if (hasCategory) {\n props.push('category.name', 'category.listingPageId', 'category.listingPageEntity');\n }\n\n if (hasPreheader) {\n props.push(`${PREHEADER_PROP}{name}`);\n props.push(HEADLINE_PROP);\n }\n\n return props;\n};\n\nexport default buildPropsQuery;\n"],"file":"build-props-query.js"}
@@ -1,12 +1,30 @@
1
1
  import upperFirst from 'lodash.upperfirst';
2
2
  import camelcase from 'lodash.camelcase';
3
3
 
4
- const getEntityData = entity => {
5
- const docType = `published_${entity}`;
6
- const entityType = `Published${upperFirst(camelcase(entity))}`;
4
+ const getEntityData = (entity, schema) => {
5
+ const publishedDocType = `published_${entity}`;
6
+ const publishedEntityType = `Published${upperFirst(camelcase(entity))}`;
7
+
8
+ if (schema) {
9
+ const {
10
+ interfaces,
11
+ [entity]: {
12
+ interfaces: nestedInterfaces
13
+ } = {}
14
+ } = schema || {};
15
+ const interfacesToCheck = interfaces || nestedInterfaces;
16
+
17
+ if (interfacesToCheck && !interfacesToCheck.includes('publish/publishable')) {
18
+ return {
19
+ docType: entity,
20
+ entityType: upperFirst(camelcase(entity))
21
+ };
22
+ }
23
+ }
24
+
7
25
  return {
8
- docType,
9
- entityType
26
+ docType: publishedDocType,
27
+ entityType: publishedEntityType
10
28
  };
11
29
  };
12
30
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/helpers/get-entity-data.js"],"names":["upperFirst","camelcase","getEntityData","entity","docType","entityType"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,mBAAvB;AACA,OAAOC,SAAP,MAAsB,kBAAtB;;AAEA,MAAMC,aAAa,GAAGC,MAAM,IAAI;AAC9B,QAAMC,OAAO,GAAI,aAAYD,MAAO,EAApC;AACA,QAAME,UAAU,GAAI,YAAWL,UAAU,CAACC,SAAS,CAACE,MAAD,CAAV,CAAoB,EAA7D;AAEA,SAAO;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,GAAP;AACD,CALD;;AAOA,eAAeH,aAAf","sourcesContent":["import upperFirst from 'lodash.upperfirst';\nimport camelcase from 'lodash.camelcase';\n\nconst getEntityData = entity => {\n const docType = `published_${entity}`;\n const entityType = `Published${upperFirst(camelcase(entity))}`;\n\n return { docType, entityType };\n};\n\nexport default getEntityData;\n"],"file":"get-entity-data.js"}
1
+ {"version":3,"sources":["../../src/helpers/get-entity-data.js"],"names":["upperFirst","camelcase","getEntityData","entity","schema","publishedDocType","publishedEntityType","interfaces","nestedInterfaces","interfacesToCheck","includes","docType","entityType"],"mappings":"AAAA,OAAOA,UAAP,MAAuB,mBAAvB;AACA,OAAOC,SAAP,MAAsB,kBAAtB;;AAEA,MAAMC,aAAa,GAAG,CAACC,MAAD,EAASC,MAAT,KAAoB;AACxC,QAAMC,gBAAgB,GAAI,aAAYF,MAAO,EAA7C;AACA,QAAMG,mBAAmB,GAAI,YAAWN,UAAU,CAACC,SAAS,CAACE,MAAD,CAAV,CAAoB,EAAtE;;AAEA,MAAIC,MAAJ,EAAY;AACV,UAAM;AAAEG,MAAAA,UAAF;AAAc,OAACJ,MAAD,GAAU;AAAEI,QAAAA,UAAU,EAAEC;AAAd,UAAmC;AAA3D,QAAkEJ,MAAM,IAAI,EAAlF;AACA,UAAMK,iBAAiB,GAAGF,UAAU,IAAIC,gBAAxC;;AACA,QAAIC,iBAAiB,IAAI,CAACA,iBAAiB,CAACC,QAAlB,CAA2B,qBAA3B,CAA1B,EAA6E;AAC3E,aAAO;AAAEC,QAAAA,OAAO,EAAER,MAAX;AAAmBS,QAAAA,UAAU,EAAEZ,UAAU,CAACC,SAAS,CAACE,MAAD,CAAV;AAAzC,OAAP;AACD;AACF;;AAED,SAAO;AAAEQ,IAAAA,OAAO,EAAEN,gBAAX;AAA6BO,IAAAA,UAAU,EAAEN;AAAzC,GAAP;AACD,CAbD;;AAeA,eAAeJ,aAAf","sourcesContent":["import upperFirst from 'lodash.upperfirst';\nimport camelcase from 'lodash.camelcase';\n\nconst getEntityData = (entity, schema) => {\n const publishedDocType = `published_${entity}`;\n const publishedEntityType = `Published${upperFirst(camelcase(entity))}`;\n\n if (schema) {\n const { interfaces, [entity]: { interfaces: nestedInterfaces } = {} } = schema || {};\n const interfacesToCheck = interfaces || nestedInterfaces;\n if (interfacesToCheck && !interfacesToCheck.includes('publish/publishable')) {\n return { docType: entity, entityType: upperFirst(camelcase(entity)) };\n }\n }\n\n return { docType: publishedDocType, entityType: publishedEntityType };\n};\n\nexport default getEntityData;\n"],"file":"get-entity-data.js"}
@@ -40,19 +40,40 @@ const getCorrectSort = (relations, filterProps, stringProps, isTextSearchApplied
40
40
  }, ...sortProperties], relations, stringProps);
41
41
  };
42
42
 
43
- const getGenericRenderVariables = (relations, filterProps = {}, stringProps = [], rawQueryStringified = '', isTextSearchFilterApplied = false) => {
43
+ const getGenericRenderVariables = (relations, filterProps = {}, stringProps = [], rawQuery = {}, isTextSearchFilterApplied = false, useRandomSort = false) => {
44
44
  const {
45
45
  limit = DEFAULT_LIMIT,
46
46
  offset
47
47
  } = filterProps;
48
+ const limitToUse = Number(limit || DEFAULT_LIMIT);
49
+ const offsetToUse = Number(offset || DEFAULT_OFFSET);
50
+
51
+ if (useRandomSort) {
52
+ const rawQueryStringified = JSON.stringify({
53
+ query: {
54
+ function_score: {
55
+ query: rawQuery,
56
+ random_score: {},
57
+ boost_mode: 'replace'
58
+ }
59
+ }
60
+ });
61
+ return {
62
+ limit: limitToUse,
63
+ offset: offsetToUse,
64
+ rawQueryStringified
65
+ };
66
+ }
67
+
48
68
  const sort = getCorrectSort(relations, filterProps, stringProps, isTextSearchFilterApplied);
49
- const raw = rawQueryStringified ? {
50
- rawQueryStringified
51
- } : {};
52
69
  return _objectSpread(_objectSpread({
53
- limit: Number(limit || DEFAULT_LIMIT),
54
- offset: Number(offset || DEFAULT_OFFSET)
55
- }, sort), raw);
70
+ limit: limitToUse,
71
+ offset: offsetToUse
72
+ }, sort), {}, {
73
+ rawQueryStringified: JSON.stringify({
74
+ query: rawQuery
75
+ })
76
+ });
56
77
  };
57
78
 
58
79
  export default getGenericRenderVariables;