@blaze-cms/react-page-builder 0.120.0-alpha.4 → 0.120.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,36 @@
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.120.1](https://github.com/thebyte9/blaze/compare/v0.120.0...v0.120.1) (2022-02-23)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * handle if banner targeting property not set ([#3355](https://github.com/thebyte9/blaze/issues/3355)) ([c36ab5a](https://github.com/thebyte9/blaze/commit/c36ab5a70f144e0e1f5c84b7089ed3e928755ec7))
12
+
13
+
14
+
15
+
16
+
17
+ # [0.120.0](https://github.com/thebyte9/blaze/compare/v0.120.0-alpha.5...v0.120.0) (2022-02-22)
18
+
19
+ **Note:** Version bump only for package @blaze-cms/react-page-builder
20
+
21
+
22
+
23
+
24
+
25
+ # [0.120.0-alpha.5](https://github.com/thebyte9/blaze/compare/v0.120.0-alpha.4...v0.120.0-alpha.5) (2022-02-22)
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * query format for list component ([cc8233b](https://github.com/thebyte9/blaze/commit/cc8233b9fc12aa7701f321246e66cdaeb2be14e0))
31
+
32
+
33
+
34
+
35
+
6
36
  # [0.120.0-alpha.4](https://github.com/thebyte9/blaze/compare/v0.120.0-alpha.3...v0.120.0-alpha.4) (2022-02-21)
7
37
 
8
38
 
@@ -278,6 +278,7 @@ var buildPropsData = function buildPropsData(data, props) {
278
278
  var _propertiesToDisplay2 = (0, _slicedToArray2["default"])(propertiesToDisplay, 1),
279
279
  key = _propertiesToDisplay2[0];
280
280
 
281
+ if (!key) return;
281
282
  var parsedKey = key.split('.');
282
283
  var value = getNestedValue(parsedKey, data);
283
284
  var labelToUse = label || key;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Banner/helpers.js"],"names":["getParsedSizes","sizes","sanitizedSizes","replace","toLowerCase","sizeGroups","split","map","group","Number","addPosnToTargetings","targetings","index","posn","buildTargetingValue","valueTargeting","includes","char","setCustomTargetings","cardBannerIndex","bannerTargetings","updatedTargetings","isValidTargeting","customTargeting","splitTargeting","Object","keys","forEach","key","keyTargeting","buildParsedAdunit","path","countContentHierarchies","baseAdunit","adunit","isInteger","base","process","env","DFP_BASE_ADUNIT","hasChildren","url","urlParts","filter","Boolean","urlPart","slice","length","join","endAdunit","END_ADUNIT","getBannerSizes","sizeId","bannerSizes","width","height","buildBannerSizes","parsedSizes","buildContextualTargeting","actionKey","props","propsToDisplay","data","buildPropsData","buildSizeMapping","sizeMapping","groupedViewports","reduce","acc","viewports","size","viewportWidth","viewportHeight","push","keyGroupedViewport","viewport","getMaxBannerHeight","Array","isArray","Math","max","o","MAX_BANNER_HEIGHT","getMinBannerHeight","min","MIN_BANNER_HEIGHT","buildUserQuery","userProps","basicProps","nestedProps","propertiesToDisplay","propKey","indexOf","baseProp","nestedProp","nestedKey","nested","prop","propsWithData","label","parsedKey","value","getNestedValue","labelToUse","parseArrayValues","arr","obj","object","shift","nestedValue"],"mappings":"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","sourcesContent":["import { parseUrl } from 'query-string';\nimport { END_ADUNIT, MAX_BANNER_HEIGHT, MIN_BANNER_HEIGHT } from '../../constants';\n\nconst getParsedSizes = (sizes = '') => {\n if (typeof sizes !== 'string') return [];\n\n const sanitizedSizes = sizes.replace(/\\s+/, '').toLowerCase();\n const sizeGroups = sanitizedSizes.split(',');\n\n return sizeGroups.map(group => group.split('x').map(Number));\n};\n\nconst addPosnToTargetings = (targetings, index) => {\n const posn = `posn=${index}`;\n return targetings ? `${targetings},${posn}` : posn;\n};\n\nconst buildTargetingValue = valueTargeting =>\n valueTargeting.includes('[') && valueTargeting.includes(']')\n ? valueTargeting.replace(/\\;|\\[|\\]/gm, char => (char === ';' ? ',' : '')).split(',')\n : valueTargeting;\n\nconst setCustomTargetings = (targetings, cardBannerIndex) => {\n let bannerTargetings = {};\n\n const updatedTargetings = cardBannerIndex\n ? addPosnToTargetings(targetings, cardBannerIndex)\n : targetings;\n\n const isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';\n\n if (isValidTargeting) {\n const customTargeting = {};\n\n let splitTargeting = updatedTargetings.split(',');\n splitTargeting = { ...splitTargeting };\n\n Object.keys(splitTargeting).forEach(key => {\n const [keyTargeting, valueTargeting] = splitTargeting[key].split('=');\n\n if (keyTargeting && valueTargeting) {\n customTargeting[keyTargeting] = buildTargetingValue(valueTargeting);\n }\n });\n bannerTargetings = { ...bannerTargetings, ...customTargeting };\n }\n\n return bannerTargetings;\n};\n\nconst buildParsedAdunit = (path, countContentHierarchies, baseAdunit, adunit) => {\n if (!Number.isInteger(countContentHierarchies)) return '';\n\n const base = baseAdunit || process.env.DFP_BASE_ADUNIT;\n const hasChildren = countContentHierarchies !== 0;\n const { url } = parseUrl(path);\n let urlParts = url\n .split('/')\n .filter(Boolean)\n .map(urlPart => urlPart.replace(/-/g, ''));\n urlParts = urlParts.slice(0, hasChildren ? urlParts.length : urlParts.length - 1).join('/');\n urlParts = urlParts ? `${urlParts}/` : urlParts;\n const endAdunit = adunit || END_ADUNIT;\n\n return `${base}/${urlParts}${endAdunit}`;\n};\n\nconst getBannerSizes = (sizeId, bannerSizes) =>\n sizeId && bannerSizes && bannerSizes.length\n ? bannerSizes.map(({ width, height }) => [width, height])\n : null;\n\nconst buildBannerSizes = (sizeId, bannerSizes, sizes) => {\n let parsedSizes = getBannerSizes(sizeId, bannerSizes);\n\n if (!parsedSizes && sizes) parsedSizes = getParsedSizes(sizes);\n\n return parsedSizes;\n};\n\nconst buildContextualTargeting = (actionKey, props = {}, propsToDisplay = []) => {\n if (actionKey && props[actionKey] && props[actionKey][0]) {\n const data = props[actionKey][0];\n return buildPropsData(data, propsToDisplay);\n }\n return {};\n};\n\nconst buildSizeMapping = (sizeId, bannerSizes) => {\n let sizeMapping = [];\n\n if (sizeId && bannerSizes && bannerSizes.length) {\n const groupedViewports = bannerSizes.reduce((acc, { width, height, viewports = [] }) => {\n const size = width && height ? [width, height] : null; // if one dimension is falsey then it shouldn't display\n\n if (viewports) {\n viewports.forEach(({ width: viewportWidth, height: viewportHeight }) => {\n const key = `${viewportWidth || 0}x${viewportHeight || 0}`;\n acc[key] = acc[key] || [];\n if (size) acc[key].push(size);\n });\n }\n return acc;\n }, {});\n\n sizeMapping = Object.keys(groupedViewports).map(keyGroupedViewport => {\n const [viewportWidth, viewportHeight] = keyGroupedViewport.split('x');\n return {\n viewport: [Number(viewportWidth), Number(viewportHeight)],\n sizes: groupedViewports[keyGroupedViewport]\n };\n });\n }\n\n return sizeMapping;\n};\n\nconst getMaxBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.max(...bannerSizes.map(o => o.height));\n }\n return MAX_BANNER_HEIGHT;\n};\n\nconst getMinBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.min(...bannerSizes.map(o => o.height));\n }\n return MIN_BANNER_HEIGHT;\n};\n\nconst buildUserQuery = userProps => {\n if (!userProps || !userProps.length) return '';\n const basicProps = [];\n const nestedProps = {};\n userProps.forEach(({ propertiesToDisplay }) => {\n const [propKey] = propertiesToDisplay;\n if (!propKey || propKey === 'id') return;\n if (propKey.indexOf('.') !== -1) {\n const [baseProp, nestedProp] = propKey.split('.');\n if (nestedProps[baseProp]) nestedProps[baseProp].push(nestedProp);\n else nestedProps[baseProp] = [nestedProp];\n } else basicProps.push(propKey);\n });\n\n Object.keys(nestedProps).forEach(nestedKey => {\n const nested = nestedProps[nestedKey];\n basicProps.push(nestedKey);\n basicProps.push('{');\n nested.forEach(prop => basicProps.push(prop));\n basicProps.push('}');\n });\n\n return basicProps.join(' ');\n};\n\nconst buildPropsData = (data, props) => {\n if (!data || !props.length) return {};\n const propsWithData = {};\n\n props.forEach(({ propertiesToDisplay, label }) => {\n const [key] = propertiesToDisplay;\n const parsedKey = key.split('.');\n const value = getNestedValue(parsedKey, data);\n const labelToUse = label || key;\n\n propsWithData[labelToUse] = value;\n });\n return propsWithData;\n};\n\nconst parseArrayValues = (arr, key) =>\n arr\n .map(obj => obj[key])\n .filter(Boolean)\n .join(', ');\n\nconst getNestedValue = (keys, object) => {\n const key = keys.shift();\n const nestedValue = Array.isArray(object) ? parseArrayValues(object, key) : object[key];\n if (!nestedValue) return null;\n return keys.length ? getNestedValue(keys, nestedValue) : nestedValue;\n};\n\nexport {\n getParsedSizes,\n setCustomTargetings,\n buildParsedAdunit,\n buildBannerSizes,\n buildContextualTargeting,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n buildPropsData,\n buildUserQuery\n};\n"],"file":"helpers.js"}
1
+ {"version":3,"sources":["../../../src/components/Banner/helpers.js"],"names":["getParsedSizes","sizes","sanitizedSizes","replace","toLowerCase","sizeGroups","split","map","group","Number","addPosnToTargetings","targetings","index","posn","buildTargetingValue","valueTargeting","includes","char","setCustomTargetings","cardBannerIndex","bannerTargetings","updatedTargetings","isValidTargeting","customTargeting","splitTargeting","Object","keys","forEach","key","keyTargeting","buildParsedAdunit","path","countContentHierarchies","baseAdunit","adunit","isInteger","base","process","env","DFP_BASE_ADUNIT","hasChildren","url","urlParts","filter","Boolean","urlPart","slice","length","join","endAdunit","END_ADUNIT","getBannerSizes","sizeId","bannerSizes","width","height","buildBannerSizes","parsedSizes","buildContextualTargeting","actionKey","props","propsToDisplay","data","buildPropsData","buildSizeMapping","sizeMapping","groupedViewports","reduce","acc","viewports","size","viewportWidth","viewportHeight","push","keyGroupedViewport","viewport","getMaxBannerHeight","Array","isArray","Math","max","o","MAX_BANNER_HEIGHT","getMinBannerHeight","min","MIN_BANNER_HEIGHT","buildUserQuery","userProps","basicProps","nestedProps","propertiesToDisplay","propKey","indexOf","baseProp","nestedProp","nestedKey","nested","prop","propsWithData","label","parsedKey","value","getNestedValue","labelToUse","parseArrayValues","arr","obj","object","shift","nestedValue"],"mappings":"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","sourcesContent":["import { parseUrl } from 'query-string';\nimport { END_ADUNIT, MAX_BANNER_HEIGHT, MIN_BANNER_HEIGHT } from '../../constants';\n\nconst getParsedSizes = (sizes = '') => {\n if (typeof sizes !== 'string') return [];\n\n const sanitizedSizes = sizes.replace(/\\s+/, '').toLowerCase();\n const sizeGroups = sanitizedSizes.split(',');\n\n return sizeGroups.map(group => group.split('x').map(Number));\n};\n\nconst addPosnToTargetings = (targetings, index) => {\n const posn = `posn=${index}`;\n return targetings ? `${targetings},${posn}` : posn;\n};\n\nconst buildTargetingValue = valueTargeting =>\n valueTargeting.includes('[') && valueTargeting.includes(']')\n ? valueTargeting.replace(/\\;|\\[|\\]/gm, char => (char === ';' ? ',' : '')).split(',')\n : valueTargeting;\n\nconst setCustomTargetings = (targetings, cardBannerIndex) => {\n let bannerTargetings = {};\n\n const updatedTargetings = cardBannerIndex\n ? addPosnToTargetings(targetings, cardBannerIndex)\n : targetings;\n\n const isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';\n\n if (isValidTargeting) {\n const customTargeting = {};\n\n let splitTargeting = updatedTargetings.split(',');\n splitTargeting = { ...splitTargeting };\n\n Object.keys(splitTargeting).forEach(key => {\n const [keyTargeting, valueTargeting] = splitTargeting[key].split('=');\n\n if (keyTargeting && valueTargeting) {\n customTargeting[keyTargeting] = buildTargetingValue(valueTargeting);\n }\n });\n bannerTargetings = { ...bannerTargetings, ...customTargeting };\n }\n\n return bannerTargetings;\n};\n\nconst buildParsedAdunit = (path, countContentHierarchies, baseAdunit, adunit) => {\n if (!Number.isInteger(countContentHierarchies)) return '';\n\n const base = baseAdunit || process.env.DFP_BASE_ADUNIT;\n const hasChildren = countContentHierarchies !== 0;\n const { url } = parseUrl(path);\n let urlParts = url\n .split('/')\n .filter(Boolean)\n .map(urlPart => urlPart.replace(/-/g, ''));\n urlParts = urlParts.slice(0, hasChildren ? urlParts.length : urlParts.length - 1).join('/');\n urlParts = urlParts ? `${urlParts}/` : urlParts;\n const endAdunit = adunit || END_ADUNIT;\n\n return `${base}/${urlParts}${endAdunit}`;\n};\n\nconst getBannerSizes = (sizeId, bannerSizes) =>\n sizeId && bannerSizes && bannerSizes.length\n ? bannerSizes.map(({ width, height }) => [width, height])\n : null;\n\nconst buildBannerSizes = (sizeId, bannerSizes, sizes) => {\n let parsedSizes = getBannerSizes(sizeId, bannerSizes);\n\n if (!parsedSizes && sizes) parsedSizes = getParsedSizes(sizes);\n\n return parsedSizes;\n};\n\nconst buildContextualTargeting = (actionKey, props = {}, propsToDisplay = []) => {\n if (actionKey && props[actionKey] && props[actionKey][0]) {\n const data = props[actionKey][0];\n return buildPropsData(data, propsToDisplay);\n }\n return {};\n};\n\nconst buildSizeMapping = (sizeId, bannerSizes) => {\n let sizeMapping = [];\n\n if (sizeId && bannerSizes && bannerSizes.length) {\n const groupedViewports = bannerSizes.reduce((acc, { width, height, viewports = [] }) => {\n const size = width && height ? [width, height] : null; // if one dimension is falsey then it shouldn't display\n\n if (viewports) {\n viewports.forEach(({ width: viewportWidth, height: viewportHeight }) => {\n const key = `${viewportWidth || 0}x${viewportHeight || 0}`;\n acc[key] = acc[key] || [];\n if (size) acc[key].push(size);\n });\n }\n return acc;\n }, {});\n\n sizeMapping = Object.keys(groupedViewports).map(keyGroupedViewport => {\n const [viewportWidth, viewportHeight] = keyGroupedViewport.split('x');\n return {\n viewport: [Number(viewportWidth), Number(viewportHeight)],\n sizes: groupedViewports[keyGroupedViewport]\n };\n });\n }\n\n return sizeMapping;\n};\n\nconst getMaxBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.max(...bannerSizes.map(o => o.height));\n }\n return MAX_BANNER_HEIGHT;\n};\n\nconst getMinBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.min(...bannerSizes.map(o => o.height));\n }\n return MIN_BANNER_HEIGHT;\n};\n\nconst buildUserQuery = userProps => {\n if (!userProps || !userProps.length) return '';\n const basicProps = [];\n const nestedProps = {};\n userProps.forEach(({ propertiesToDisplay }) => {\n const [propKey] = propertiesToDisplay;\n if (!propKey || propKey === 'id') return;\n if (propKey.indexOf('.') !== -1) {\n const [baseProp, nestedProp] = propKey.split('.');\n if (nestedProps[baseProp]) nestedProps[baseProp].push(nestedProp);\n else nestedProps[baseProp] = [nestedProp];\n } else basicProps.push(propKey);\n });\n\n Object.keys(nestedProps).forEach(nestedKey => {\n const nested = nestedProps[nestedKey];\n basicProps.push(nestedKey);\n basicProps.push('{');\n nested.forEach(prop => basicProps.push(prop));\n basicProps.push('}');\n });\n\n return basicProps.join(' ');\n};\n\nconst buildPropsData = (data, props) => {\n if (!data || !props.length) return {};\n const propsWithData = {};\n\n props.forEach(({ propertiesToDisplay, label }) => {\n const [key] = propertiesToDisplay;\n if (!key) return;\n\n const parsedKey = key.split('.');\n const value = getNestedValue(parsedKey, data);\n const labelToUse = label || key;\n\n propsWithData[labelToUse] = value;\n });\n return propsWithData;\n};\n\nconst parseArrayValues = (arr, key) =>\n arr\n .map(obj => obj[key])\n .filter(Boolean)\n .join(', ');\n\nconst getNestedValue = (keys, object) => {\n const key = keys.shift();\n const nestedValue = Array.isArray(object) ? parseArrayValues(object, key) : object[key];\n if (!nestedValue) return null;\n return keys.length ? getNestedValue(keys, nestedValue) : nestedValue;\n};\n\nexport {\n getParsedSizes,\n setCustomTargetings,\n buildParsedAdunit,\n buildBannerSizes,\n buildContextualTargeting,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n buildPropsData,\n buildUserQuery\n};\n"],"file":"helpers.js"}
@@ -96,7 +96,7 @@ var getGenericRenderVariables = function getGenericRenderVariables(relations) {
96
96
  var rawQueryStringified = JSON.stringify({
97
97
  query: {
98
98
  function_score: {
99
- query: rawQuery,
99
+ query: rawQuery && rawQuery.query ? rawQuery.query : rawQuery,
100
100
  random_score: {},
101
101
  boost_mode: 'replace'
102
102
  }
@@ -114,9 +114,7 @@ var getGenericRenderVariables = function getGenericRenderVariables(relations) {
114
114
  limit: limitToUse,
115
115
  offset: offsetToUse
116
116
  }, sort), {}, {
117
- rawQueryStringified: JSON.stringify({
118
- query: rawQuery
119
- })
117
+ rawQueryStringified: JSON.stringify(rawQuery)
120
118
  });
121
119
  };
122
120
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/helpers/get-generic-render-variables.js"],"names":["buildSortValues","sortFilters","relations","stringProps","length","sort","sortValues","map","propsToDisplay","sortFieldName","toLowerCase","filter","Boolean","join","getCorrectSort","filterProps","isTextSearchApplied","sortby","sortProperties","getGenericRenderVariables","rawQuery","isTextSearchFilterApplied","useRandomSort","limit","DEFAULT_LIMIT","offset","limitToUse","Number","offsetToUse","DEFAULT_OFFSET","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode"],"mappings":"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","sourcesContent":["import getSortbyFieldName from './get-sort-by-field-name';\nimport { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\n\nconst buildSortValues = (sortFilters, relations, stringProps) => {\n if (!sortFilters || !sortFilters.length) return { sort: [] };\n\n const sortValues = sortFilters\n .map(({ sort, propsToDisplay }) => {\n if (!sort) return null;\n\n const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);\n return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;\n })\n .filter(Boolean)\n .join(',');\n\n return { sort: sortValues };\n};\nconst getCorrectSort = (relations, filterProps, stringProps, isTextSearchApplied) => {\n if (isTextSearchApplied) {\n return {};\n }\n const { sort, sortby, sortProperties = [] } = filterProps;\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...sortProperties],\n relations,\n stringProps\n );\n};\n\nconst getGenericRenderVariables = (\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n isTextSearchFilterApplied = false,\n useRandomSort = false\n) => {\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const limitToUse = Number(limit || DEFAULT_LIMIT);\n const offsetToUse = Number(offset || DEFAULT_OFFSET);\n\n if (useRandomSort) {\n const rawQueryStringified = JSON.stringify({\n query: {\n function_score: {\n query: rawQuery,\n random_score: {},\n boost_mode: 'replace'\n }\n }\n });\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified\n };\n }\n\n const sort = getCorrectSort(relations, filterProps, stringProps, isTextSearchFilterApplied);\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify({\n query: rawQuery\n })\n };\n};\n\nexport default getGenericRenderVariables;\n"],"file":"get-generic-render-variables.js"}
1
+ {"version":3,"sources":["../../src/helpers/get-generic-render-variables.js"],"names":["buildSortValues","sortFilters","relations","stringProps","length","sort","sortValues","map","propsToDisplay","sortFieldName","toLowerCase","filter","Boolean","join","getCorrectSort","filterProps","isTextSearchApplied","sortby","sortProperties","getGenericRenderVariables","rawQuery","isTextSearchFilterApplied","useRandomSort","limit","DEFAULT_LIMIT","offset","limitToUse","Number","offsetToUse","DEFAULT_OFFSET","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode"],"mappings":"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","sourcesContent":["import getSortbyFieldName from './get-sort-by-field-name';\nimport { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\n\nconst buildSortValues = (sortFilters, relations, stringProps) => {\n if (!sortFilters || !sortFilters.length) return { sort: [] };\n\n const sortValues = sortFilters\n .map(({ sort, propsToDisplay }) => {\n if (!sort) return null;\n\n const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);\n return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;\n })\n .filter(Boolean)\n .join(',');\n\n return { sort: sortValues };\n};\nconst getCorrectSort = (relations, filterProps, stringProps, isTextSearchApplied) => {\n if (isTextSearchApplied) {\n return {};\n }\n const { sort, sortby, sortProperties = [] } = filterProps;\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...sortProperties],\n relations,\n stringProps\n );\n};\n\nconst getGenericRenderVariables = (\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n isTextSearchFilterApplied = false,\n useRandomSort = false\n) => {\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const limitToUse = Number(limit || DEFAULT_LIMIT);\n const offsetToUse = Number(offset || DEFAULT_OFFSET);\n\n if (useRandomSort) {\n const rawQueryStringified = JSON.stringify({\n query: {\n function_score: {\n query: rawQuery && rawQuery.query ? rawQuery.query : rawQuery,\n random_score: {},\n boost_mode: 'replace'\n }\n }\n });\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified\n };\n }\n\n const sort = getCorrectSort(relations, filterProps, stringProps, isTextSearchFilterApplied);\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify(rawQuery)\n };\n};\n\nexport default getGenericRenderVariables;\n"],"file":"get-generic-render-variables.js"}
@@ -162,6 +162,7 @@ const buildPropsData = (data, props) => {
162
162
  label
163
163
  }) => {
164
164
  const [key] = propertiesToDisplay;
165
+ if (!key) return;
165
166
  const parsedKey = key.split('.');
166
167
  const value = getNestedValue(parsedKey, data);
167
168
  const labelToUse = label || key;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Banner/helpers.js"],"names":["parseUrl","END_ADUNIT","MAX_BANNER_HEIGHT","MIN_BANNER_HEIGHT","getParsedSizes","sizes","sanitizedSizes","replace","toLowerCase","sizeGroups","split","map","group","Number","addPosnToTargetings","targetings","index","posn","buildTargetingValue","valueTargeting","includes","char","setCustomTargetings","cardBannerIndex","bannerTargetings","updatedTargetings","isValidTargeting","customTargeting","splitTargeting","Object","keys","forEach","key","keyTargeting","buildParsedAdunit","path","countContentHierarchies","baseAdunit","adunit","isInteger","base","process","env","DFP_BASE_ADUNIT","hasChildren","url","urlParts","filter","Boolean","urlPart","slice","length","join","endAdunit","getBannerSizes","sizeId","bannerSizes","width","height","buildBannerSizes","parsedSizes","buildContextualTargeting","actionKey","props","propsToDisplay","data","buildPropsData","buildSizeMapping","sizeMapping","groupedViewports","reduce","acc","viewports","size","viewportWidth","viewportHeight","push","keyGroupedViewport","viewport","getMaxBannerHeight","Array","isArray","Math","max","o","getMinBannerHeight","min","buildUserQuery","userProps","basicProps","nestedProps","propertiesToDisplay","propKey","indexOf","baseProp","nestedProp","nestedKey","nested","prop","propsWithData","label","parsedKey","value","getNestedValue","labelToUse","parseArrayValues","arr","obj","object","shift","nestedValue"],"mappings":"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","sourcesContent":["import { parseUrl } from 'query-string';\nimport { END_ADUNIT, MAX_BANNER_HEIGHT, MIN_BANNER_HEIGHT } from '../../constants';\n\nconst getParsedSizes = (sizes = '') => {\n if (typeof sizes !== 'string') return [];\n\n const sanitizedSizes = sizes.replace(/\\s+/, '').toLowerCase();\n const sizeGroups = sanitizedSizes.split(',');\n\n return sizeGroups.map(group => group.split('x').map(Number));\n};\n\nconst addPosnToTargetings = (targetings, index) => {\n const posn = `posn=${index}`;\n return targetings ? `${targetings},${posn}` : posn;\n};\n\nconst buildTargetingValue = valueTargeting =>\n valueTargeting.includes('[') && valueTargeting.includes(']')\n ? valueTargeting.replace(/\\;|\\[|\\]/gm, char => (char === ';' ? ',' : '')).split(',')\n : valueTargeting;\n\nconst setCustomTargetings = (targetings, cardBannerIndex) => {\n let bannerTargetings = {};\n\n const updatedTargetings = cardBannerIndex\n ? addPosnToTargetings(targetings, cardBannerIndex)\n : targetings;\n\n const isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';\n\n if (isValidTargeting) {\n const customTargeting = {};\n\n let splitTargeting = updatedTargetings.split(',');\n splitTargeting = { ...splitTargeting };\n\n Object.keys(splitTargeting).forEach(key => {\n const [keyTargeting, valueTargeting] = splitTargeting[key].split('=');\n\n if (keyTargeting && valueTargeting) {\n customTargeting[keyTargeting] = buildTargetingValue(valueTargeting);\n }\n });\n bannerTargetings = { ...bannerTargetings, ...customTargeting };\n }\n\n return bannerTargetings;\n};\n\nconst buildParsedAdunit = (path, countContentHierarchies, baseAdunit, adunit) => {\n if (!Number.isInteger(countContentHierarchies)) return '';\n\n const base = baseAdunit || process.env.DFP_BASE_ADUNIT;\n const hasChildren = countContentHierarchies !== 0;\n const { url } = parseUrl(path);\n let urlParts = url\n .split('/')\n .filter(Boolean)\n .map(urlPart => urlPart.replace(/-/g, ''));\n urlParts = urlParts.slice(0, hasChildren ? urlParts.length : urlParts.length - 1).join('/');\n urlParts = urlParts ? `${urlParts}/` : urlParts;\n const endAdunit = adunit || END_ADUNIT;\n\n return `${base}/${urlParts}${endAdunit}`;\n};\n\nconst getBannerSizes = (sizeId, bannerSizes) =>\n sizeId && bannerSizes && bannerSizes.length\n ? bannerSizes.map(({ width, height }) => [width, height])\n : null;\n\nconst buildBannerSizes = (sizeId, bannerSizes, sizes) => {\n let parsedSizes = getBannerSizes(sizeId, bannerSizes);\n\n if (!parsedSizes && sizes) parsedSizes = getParsedSizes(sizes);\n\n return parsedSizes;\n};\n\nconst buildContextualTargeting = (actionKey, props = {}, propsToDisplay = []) => {\n if (actionKey && props[actionKey] && props[actionKey][0]) {\n const data = props[actionKey][0];\n return buildPropsData(data, propsToDisplay);\n }\n return {};\n};\n\nconst buildSizeMapping = (sizeId, bannerSizes) => {\n let sizeMapping = [];\n\n if (sizeId && bannerSizes && bannerSizes.length) {\n const groupedViewports = bannerSizes.reduce((acc, { width, height, viewports = [] }) => {\n const size = width && height ? [width, height] : null; // if one dimension is falsey then it shouldn't display\n\n if (viewports) {\n viewports.forEach(({ width: viewportWidth, height: viewportHeight }) => {\n const key = `${viewportWidth || 0}x${viewportHeight || 0}`;\n acc[key] = acc[key] || [];\n if (size) acc[key].push(size);\n });\n }\n return acc;\n }, {});\n\n sizeMapping = Object.keys(groupedViewports).map(keyGroupedViewport => {\n const [viewportWidth, viewportHeight] = keyGroupedViewport.split('x');\n return {\n viewport: [Number(viewportWidth), Number(viewportHeight)],\n sizes: groupedViewports[keyGroupedViewport]\n };\n });\n }\n\n return sizeMapping;\n};\n\nconst getMaxBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.max(...bannerSizes.map(o => o.height));\n }\n return MAX_BANNER_HEIGHT;\n};\n\nconst getMinBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.min(...bannerSizes.map(o => o.height));\n }\n return MIN_BANNER_HEIGHT;\n};\n\nconst buildUserQuery = userProps => {\n if (!userProps || !userProps.length) return '';\n const basicProps = [];\n const nestedProps = {};\n userProps.forEach(({ propertiesToDisplay }) => {\n const [propKey] = propertiesToDisplay;\n if (!propKey || propKey === 'id') return;\n if (propKey.indexOf('.') !== -1) {\n const [baseProp, nestedProp] = propKey.split('.');\n if (nestedProps[baseProp]) nestedProps[baseProp].push(nestedProp);\n else nestedProps[baseProp] = [nestedProp];\n } else basicProps.push(propKey);\n });\n\n Object.keys(nestedProps).forEach(nestedKey => {\n const nested = nestedProps[nestedKey];\n basicProps.push(nestedKey);\n basicProps.push('{');\n nested.forEach(prop => basicProps.push(prop));\n basicProps.push('}');\n });\n\n return basicProps.join(' ');\n};\n\nconst buildPropsData = (data, props) => {\n if (!data || !props.length) return {};\n const propsWithData = {};\n\n props.forEach(({ propertiesToDisplay, label }) => {\n const [key] = propertiesToDisplay;\n const parsedKey = key.split('.');\n const value = getNestedValue(parsedKey, data);\n const labelToUse = label || key;\n\n propsWithData[labelToUse] = value;\n });\n return propsWithData;\n};\n\nconst parseArrayValues = (arr, key) =>\n arr\n .map(obj => obj[key])\n .filter(Boolean)\n .join(', ');\n\nconst getNestedValue = (keys, object) => {\n const key = keys.shift();\n const nestedValue = Array.isArray(object) ? parseArrayValues(object, key) : object[key];\n if (!nestedValue) return null;\n return keys.length ? getNestedValue(keys, nestedValue) : nestedValue;\n};\n\nexport {\n getParsedSizes,\n setCustomTargetings,\n buildParsedAdunit,\n buildBannerSizes,\n buildContextualTargeting,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n buildPropsData,\n buildUserQuery\n};\n"],"file":"helpers.js"}
1
+ {"version":3,"sources":["../../../src/components/Banner/helpers.js"],"names":["parseUrl","END_ADUNIT","MAX_BANNER_HEIGHT","MIN_BANNER_HEIGHT","getParsedSizes","sizes","sanitizedSizes","replace","toLowerCase","sizeGroups","split","map","group","Number","addPosnToTargetings","targetings","index","posn","buildTargetingValue","valueTargeting","includes","char","setCustomTargetings","cardBannerIndex","bannerTargetings","updatedTargetings","isValidTargeting","customTargeting","splitTargeting","Object","keys","forEach","key","keyTargeting","buildParsedAdunit","path","countContentHierarchies","baseAdunit","adunit","isInteger","base","process","env","DFP_BASE_ADUNIT","hasChildren","url","urlParts","filter","Boolean","urlPart","slice","length","join","endAdunit","getBannerSizes","sizeId","bannerSizes","width","height","buildBannerSizes","parsedSizes","buildContextualTargeting","actionKey","props","propsToDisplay","data","buildPropsData","buildSizeMapping","sizeMapping","groupedViewports","reduce","acc","viewports","size","viewportWidth","viewportHeight","push","keyGroupedViewport","viewport","getMaxBannerHeight","Array","isArray","Math","max","o","getMinBannerHeight","min","buildUserQuery","userProps","basicProps","nestedProps","propertiesToDisplay","propKey","indexOf","baseProp","nestedProp","nestedKey","nested","prop","propsWithData","label","parsedKey","value","getNestedValue","labelToUse","parseArrayValues","arr","obj","object","shift","nestedValue"],"mappings":";;;;;;AAAA,SAASA,QAAT,QAAyB,cAAzB;AACA,SAASC,UAAT,EAAqBC,iBAArB,EAAwCC,iBAAxC,QAAiE,iBAAjE;;AAEA,MAAMC,cAAc,GAAG,CAACC,KAAK,GAAG,EAAT,KAAgB;AACrC,MAAI,OAAOA,KAAP,KAAiB,QAArB,EAA+B,OAAO,EAAP;AAE/B,QAAMC,cAAc,GAAGD,KAAK,CAACE,OAAN,CAAc,KAAd,EAAqB,EAArB,EAAyBC,WAAzB,EAAvB;AACA,QAAMC,UAAU,GAAGH,cAAc,CAACI,KAAf,CAAqB,GAArB,CAAnB;AAEA,SAAOD,UAAU,CAACE,GAAX,CAAeC,KAAK,IAAIA,KAAK,CAACF,KAAN,CAAY,GAAZ,EAAiBC,GAAjB,CAAqBE,MAArB,CAAxB,CAAP;AACD,CAPD;;AASA,MAAMC,mBAAmB,GAAG,CAACC,UAAD,EAAaC,KAAb,KAAuB;AACjD,QAAMC,IAAI,GAAI,QAAOD,KAAM,EAA3B;AACA,SAAOD,UAAU,GAAI,GAAEA,UAAW,IAAGE,IAAK,EAAzB,GAA6BA,IAA9C;AACD,CAHD;;AAKA,MAAMC,mBAAmB,GAAGC,cAAc,IACxCA,cAAc,CAACC,QAAf,CAAwB,GAAxB,KAAgCD,cAAc,CAACC,QAAf,CAAwB,GAAxB,CAAhC,GACID,cAAc,CAACZ,OAAf,CAAuB,YAAvB,EAAqCc,IAAI,IAAKA,IAAI,KAAK,GAAT,GAAe,GAAf,GAAqB,EAAnE,EAAwEX,KAAxE,CAA8E,GAA9E,CADJ,GAEIS,cAHN;;AAKA,MAAMG,mBAAmB,GAAG,CAACP,UAAD,EAAaQ,eAAb,KAAiC;AAC3D,MAAIC,gBAAgB,GAAG,EAAvB;AAEA,QAAMC,iBAAiB,GAAGF,eAAe,GACrCT,mBAAmB,CAACC,UAAD,EAAaQ,eAAb,CADkB,GAErCR,UAFJ;AAIA,QAAMW,gBAAgB,GAAGD,iBAAiB,IAAI,OAAOA,iBAAP,KAA6B,QAA3E;;AAEA,MAAIC,gBAAJ,EAAsB;AACpB,UAAMC,eAAe,GAAG,EAAxB;AAEA,QAAIC,cAAc,GAAGH,iBAAiB,CAACf,KAAlB,CAAwB,GAAxB,CAArB;AACAkB,IAAAA,cAAc,qBAAQA,cAAR,CAAd;AAEAC,IAAAA,MAAM,CAACC,IAAP,CAAYF,cAAZ,EAA4BG,OAA5B,CAAoCC,GAAG,IAAI;AACzC,YAAM,CAACC,YAAD,EAAed,cAAf,IAAiCS,cAAc,CAACI,GAAD,CAAd,CAAoBtB,KAApB,CAA0B,GAA1B,CAAvC;;AAEA,UAAIuB,YAAY,IAAId,cAApB,EAAoC;AAClCQ,QAAAA,eAAe,CAACM,YAAD,CAAf,GAAgCf,mBAAmB,CAACC,cAAD,CAAnD;AACD;AACF,KAND;AAOAK,IAAAA,gBAAgB,mCAAQA,gBAAR,GAA6BG,eAA7B,CAAhB;AACD;;AAED,SAAOH,gBAAP;AACD,CA1BD;;AA4BA,MAAMU,iBAAiB,GAAG,CAACC,IAAD,EAAOC,uBAAP,EAAgCC,UAAhC,EAA4CC,MAA5C,KAAuD;AAC/E,MAAI,CAACzB,MAAM,CAAC0B,SAAP,CAAiBH,uBAAjB,CAAL,EAAgD,OAAO,EAAP;AAEhD,QAAMI,IAAI,GAAGH,UAAU,IAAII,OAAO,CAACC,GAAR,CAAYC,eAAvC;AACA,QAAMC,WAAW,GAAGR,uBAAuB,KAAK,CAAhD;AACA,QAAM;AAAES,IAAAA;AAAF,MAAU7C,QAAQ,CAACmC,IAAD,CAAxB;AACA,MAAIW,QAAQ,GAAGD,GAAG,CACfnC,KADY,CACN,GADM,EAEZqC,MAFY,CAELC,OAFK,EAGZrC,GAHY,CAGRsC,OAAO,IAAIA,OAAO,CAAC1C,OAAR,CAAgB,IAAhB,EAAsB,EAAtB,CAHH,CAAf;AAIAuC,EAAAA,QAAQ,GAAGA,QAAQ,CAACI,KAAT,CAAe,CAAf,EAAkBN,WAAW,GAAGE,QAAQ,CAACK,MAAZ,GAAqBL,QAAQ,CAACK,MAAT,GAAkB,CAApE,EAAuEC,IAAvE,CAA4E,GAA5E,CAAX;AACAN,EAAAA,QAAQ,GAAGA,QAAQ,GAAI,GAAEA,QAAS,GAAf,GAAoBA,QAAvC;AACA,QAAMO,SAAS,GAAGf,MAAM,IAAIrC,UAA5B;AAEA,SAAQ,GAAEuC,IAAK,IAAGM,QAAS,GAAEO,SAAU,EAAvC;AACD,CAfD;;AAiBA,MAAMC,cAAc,GAAG,CAACC,MAAD,EAASC,WAAT,KACrBD,MAAM,IAAIC,WAAV,IAAyBA,WAAW,CAACL,MAArC,GACIK,WAAW,CAAC7C,GAAZ,CAAgB,CAAC;AAAE8C,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAuB,CAACD,KAAD,EAAQC,MAAR,CAAvC,CADJ,GAEI,IAHN;;AAKA,MAAMC,gBAAgB,GAAG,CAACJ,MAAD,EAASC,WAAT,EAAsBnD,KAAtB,KAAgC;AACvD,MAAIuD,WAAW,GAAGN,cAAc,CAACC,MAAD,EAASC,WAAT,CAAhC;AAEA,MAAI,CAACI,WAAD,IAAgBvD,KAApB,EAA2BuD,WAAW,GAAGxD,cAAc,CAACC,KAAD,CAA5B;AAE3B,SAAOuD,WAAP;AACD,CAND;;AAQA,MAAMC,wBAAwB,GAAG,CAACC,SAAD,EAAYC,KAAK,GAAG,EAApB,EAAwBC,cAAc,GAAG,EAAzC,KAAgD;AAC/E,MAAIF,SAAS,IAAIC,KAAK,CAACD,SAAD,CAAlB,IAAiCC,KAAK,CAACD,SAAD,CAAL,CAAiB,CAAjB,CAArC,EAA0D;AACxD,UAAMG,IAAI,GAAGF,KAAK,CAACD,SAAD,CAAL,CAAiB,CAAjB,CAAb;AACA,WAAOI,cAAc,CAACD,IAAD,EAAOD,cAAP,CAArB;AACD;;AACD,SAAO,EAAP;AACD,CAND;;AAQA,MAAMG,gBAAgB,GAAG,CAACZ,MAAD,EAASC,WAAT,KAAyB;AAChD,MAAIY,WAAW,GAAG,EAAlB;;AAEA,MAAIb,MAAM,IAAIC,WAAV,IAAyBA,WAAW,CAACL,MAAzC,EAAiD;AAC/C,UAAMkB,gBAAgB,GAAGb,WAAW,CAACc,MAAZ,CAAmB,CAACC,GAAD,EAAM;AAAEd,MAAAA,KAAF;AAASC,MAAAA,MAAT;AAAiBc,MAAAA,SAAS,GAAG;AAA7B,KAAN,KAA4C;AACtF,YAAMC,IAAI,GAAGhB,KAAK,IAAIC,MAAT,GAAkB,CAACD,KAAD,EAAQC,MAAR,CAAlB,GAAoC,IAAjD,CADsF,CAC/B;;AAEvD,UAAIc,SAAJ,EAAe;AACbA,QAAAA,SAAS,CAACzC,OAAV,CAAkB,CAAC;AAAE0B,UAAAA,KAAK,EAAEiB,aAAT;AAAwBhB,UAAAA,MAAM,EAAEiB;AAAhC,SAAD,KAAsD;AACtE,gBAAM3C,GAAG,GAAI,GAAE0C,aAAa,IAAI,CAAE,IAAGC,cAAc,IAAI,CAAE,EAAzD;AACAJ,UAAAA,GAAG,CAACvC,GAAD,CAAH,GAAWuC,GAAG,CAACvC,GAAD,CAAH,IAAY,EAAvB;AACA,cAAIyC,IAAJ,EAAUF,GAAG,CAACvC,GAAD,CAAH,CAAS4C,IAAT,CAAcH,IAAd;AACX,SAJD;AAKD;;AACD,aAAOF,GAAP;AACD,KAXwB,EAWtB,EAXsB,CAAzB;AAaAH,IAAAA,WAAW,GAAGvC,MAAM,CAACC,IAAP,CAAYuC,gBAAZ,EAA8B1D,GAA9B,CAAkCkE,kBAAkB,IAAI;AACpE,YAAM,CAACH,aAAD,EAAgBC,cAAhB,IAAkCE,kBAAkB,CAACnE,KAAnB,CAAyB,GAAzB,CAAxC;AACA,aAAO;AACLoE,QAAAA,QAAQ,EAAE,CAACjE,MAAM,CAAC6D,aAAD,CAAP,EAAwB7D,MAAM,CAAC8D,cAAD,CAA9B,CADL;AAELtE,QAAAA,KAAK,EAAEgE,gBAAgB,CAACQ,kBAAD;AAFlB,OAAP;AAID,KANa,CAAd;AAOD;;AAED,SAAOT,WAAP;AACD,CA3BD;;AA6BA,MAAMW,kBAAkB,GAAGvB,WAAW,IAAI;AACxC,MAAIwB,KAAK,CAACC,OAAN,CAAczB,WAAd,KAA8BA,WAAW,CAACL,MAAZ,GAAqB,CAAvD,EAA0D;AACxD,WAAO+B,IAAI,CAACC,GAAL,CAAS,GAAG3B,WAAW,CAAC7C,GAAZ,CAAgByE,CAAC,IAAIA,CAAC,CAAC1B,MAAvB,CAAZ,CAAP;AACD;;AACD,SAAOxD,iBAAP;AACD,CALD;;AAOA,MAAMmF,kBAAkB,GAAG7B,WAAW,IAAI;AACxC,MAAIwB,KAAK,CAACC,OAAN,CAAczB,WAAd,KAA8BA,WAAW,CAACL,MAAZ,GAAqB,CAAvD,EAA0D;AACxD,WAAO+B,IAAI,CAACI,GAAL,CAAS,GAAG9B,WAAW,CAAC7C,GAAZ,CAAgByE,CAAC,IAAIA,CAAC,CAAC1B,MAAvB,CAAZ,CAAP;AACD;;AACD,SAAOvD,iBAAP;AACD,CALD;;AAOA,MAAMoF,cAAc,GAAGC,SAAS,IAAI;AAClC,MAAI,CAACA,SAAD,IAAc,CAACA,SAAS,CAACrC,MAA7B,EAAqC,OAAO,EAAP;AACrC,QAAMsC,UAAU,GAAG,EAAnB;AACA,QAAMC,WAAW,GAAG,EAApB;AACAF,EAAAA,SAAS,CAACzD,OAAV,CAAkB,CAAC;AAAE4D,IAAAA;AAAF,GAAD,KAA6B;AAC7C,UAAM,CAACC,OAAD,IAAYD,mBAAlB;AACA,QAAI,CAACC,OAAD,IAAYA,OAAO,KAAK,IAA5B,EAAkC;;AAClC,QAAIA,OAAO,CAACC,OAAR,CAAgB,GAAhB,MAAyB,CAAC,CAA9B,EAAiC;AAC/B,YAAM,CAACC,QAAD,EAAWC,UAAX,IAAyBH,OAAO,CAAClF,KAAR,CAAc,GAAd,CAA/B;AACA,UAAIgF,WAAW,CAACI,QAAD,CAAf,EAA2BJ,WAAW,CAACI,QAAD,CAAX,CAAsBlB,IAAtB,CAA2BmB,UAA3B,EAA3B,KACKL,WAAW,CAACI,QAAD,CAAX,GAAwB,CAACC,UAAD,CAAxB;AACN,KAJD,MAION,UAAU,CAACb,IAAX,CAAgBgB,OAAhB;AACR,GARD;AAUA/D,EAAAA,MAAM,CAACC,IAAP,CAAY4D,WAAZ,EAAyB3D,OAAzB,CAAiCiE,SAAS,IAAI;AAC5C,UAAMC,MAAM,GAAGP,WAAW,CAACM,SAAD,CAA1B;AACAP,IAAAA,UAAU,CAACb,IAAX,CAAgBoB,SAAhB;AACAP,IAAAA,UAAU,CAACb,IAAX,CAAgB,GAAhB;AACAqB,IAAAA,MAAM,CAAClE,OAAP,CAAemE,IAAI,IAAIT,UAAU,CAACb,IAAX,CAAgBsB,IAAhB,CAAvB;AACAT,IAAAA,UAAU,CAACb,IAAX,CAAgB,GAAhB;AACD,GAND;AAQA,SAAOa,UAAU,CAACrC,IAAX,CAAgB,GAAhB,CAAP;AACD,CAvBD;;AAyBA,MAAMc,cAAc,GAAG,CAACD,IAAD,EAAOF,KAAP,KAAiB;AACtC,MAAI,CAACE,IAAD,IAAS,CAACF,KAAK,CAACZ,MAApB,EAA4B,OAAO,EAAP;AAC5B,QAAMgD,aAAa,GAAG,EAAtB;AAEApC,EAAAA,KAAK,CAAChC,OAAN,CAAc,CAAC;AAAE4D,IAAAA,mBAAF;AAAuBS,IAAAA;AAAvB,GAAD,KAAoC;AAChD,UAAM,CAACpE,GAAD,IAAQ2D,mBAAd;AACA,QAAI,CAAC3D,GAAL,EAAU;AAEV,UAAMqE,SAAS,GAAGrE,GAAG,CAACtB,KAAJ,CAAU,GAAV,CAAlB;AACA,UAAM4F,KAAK,GAAGC,cAAc,CAACF,SAAD,EAAYpC,IAAZ,CAA5B;AACA,UAAMuC,UAAU,GAAGJ,KAAK,IAAIpE,GAA5B;AAEAmE,IAAAA,aAAa,CAACK,UAAD,CAAb,GAA4BF,KAA5B;AACD,GATD;AAUA,SAAOH,aAAP;AACD,CAfD;;AAiBA,MAAMM,gBAAgB,GAAG,CAACC,GAAD,EAAM1E,GAAN,KACvB0E,GAAG,CACA/F,GADH,CACOgG,GAAG,IAAIA,GAAG,CAAC3E,GAAD,CADjB,EAEGe,MAFH,CAEUC,OAFV,EAGGI,IAHH,CAGQ,IAHR,CADF;;AAMA,MAAMmD,cAAc,GAAG,CAACzE,IAAD,EAAO8E,MAAP,KAAkB;AACvC,QAAM5E,GAAG,GAAGF,IAAI,CAAC+E,KAAL,EAAZ;AACA,QAAMC,WAAW,GAAG9B,KAAK,CAACC,OAAN,CAAc2B,MAAd,IAAwBH,gBAAgB,CAACG,MAAD,EAAS5E,GAAT,CAAxC,GAAwD4E,MAAM,CAAC5E,GAAD,CAAlF;AACA,MAAI,CAAC8E,WAAL,EAAkB,OAAO,IAAP;AAClB,SAAOhF,IAAI,CAACqB,MAAL,GAAcoD,cAAc,CAACzE,IAAD,EAAOgF,WAAP,CAA5B,GAAkDA,WAAzD;AACD,CALD;;AAOA,SACE1G,cADF,EAEEkB,mBAFF,EAGEY,iBAHF,EAIEyB,gBAJF,EAKEE,wBALF,EAMEM,gBANF,EAOEY,kBAPF,EAQEM,kBARF,EASEnB,cATF,EAUEqB,cAVF","sourcesContent":["import { parseUrl } from 'query-string';\nimport { END_ADUNIT, MAX_BANNER_HEIGHT, MIN_BANNER_HEIGHT } from '../../constants';\n\nconst getParsedSizes = (sizes = '') => {\n if (typeof sizes !== 'string') return [];\n\n const sanitizedSizes = sizes.replace(/\\s+/, '').toLowerCase();\n const sizeGroups = sanitizedSizes.split(',');\n\n return sizeGroups.map(group => group.split('x').map(Number));\n};\n\nconst addPosnToTargetings = (targetings, index) => {\n const posn = `posn=${index}`;\n return targetings ? `${targetings},${posn}` : posn;\n};\n\nconst buildTargetingValue = valueTargeting =>\n valueTargeting.includes('[') && valueTargeting.includes(']')\n ? valueTargeting.replace(/\\;|\\[|\\]/gm, char => (char === ';' ? ',' : '')).split(',')\n : valueTargeting;\n\nconst setCustomTargetings = (targetings, cardBannerIndex) => {\n let bannerTargetings = {};\n\n const updatedTargetings = cardBannerIndex\n ? addPosnToTargetings(targetings, cardBannerIndex)\n : targetings;\n\n const isValidTargeting = updatedTargetings && typeof updatedTargetings === 'string';\n\n if (isValidTargeting) {\n const customTargeting = {};\n\n let splitTargeting = updatedTargetings.split(',');\n splitTargeting = { ...splitTargeting };\n\n Object.keys(splitTargeting).forEach(key => {\n const [keyTargeting, valueTargeting] = splitTargeting[key].split('=');\n\n if (keyTargeting && valueTargeting) {\n customTargeting[keyTargeting] = buildTargetingValue(valueTargeting);\n }\n });\n bannerTargetings = { ...bannerTargetings, ...customTargeting };\n }\n\n return bannerTargetings;\n};\n\nconst buildParsedAdunit = (path, countContentHierarchies, baseAdunit, adunit) => {\n if (!Number.isInteger(countContentHierarchies)) return '';\n\n const base = baseAdunit || process.env.DFP_BASE_ADUNIT;\n const hasChildren = countContentHierarchies !== 0;\n const { url } = parseUrl(path);\n let urlParts = url\n .split('/')\n .filter(Boolean)\n .map(urlPart => urlPart.replace(/-/g, ''));\n urlParts = urlParts.slice(0, hasChildren ? urlParts.length : urlParts.length - 1).join('/');\n urlParts = urlParts ? `${urlParts}/` : urlParts;\n const endAdunit = adunit || END_ADUNIT;\n\n return `${base}/${urlParts}${endAdunit}`;\n};\n\nconst getBannerSizes = (sizeId, bannerSizes) =>\n sizeId && bannerSizes && bannerSizes.length\n ? bannerSizes.map(({ width, height }) => [width, height])\n : null;\n\nconst buildBannerSizes = (sizeId, bannerSizes, sizes) => {\n let parsedSizes = getBannerSizes(sizeId, bannerSizes);\n\n if (!parsedSizes && sizes) parsedSizes = getParsedSizes(sizes);\n\n return parsedSizes;\n};\n\nconst buildContextualTargeting = (actionKey, props = {}, propsToDisplay = []) => {\n if (actionKey && props[actionKey] && props[actionKey][0]) {\n const data = props[actionKey][0];\n return buildPropsData(data, propsToDisplay);\n }\n return {};\n};\n\nconst buildSizeMapping = (sizeId, bannerSizes) => {\n let sizeMapping = [];\n\n if (sizeId && bannerSizes && bannerSizes.length) {\n const groupedViewports = bannerSizes.reduce((acc, { width, height, viewports = [] }) => {\n const size = width && height ? [width, height] : null; // if one dimension is falsey then it shouldn't display\n\n if (viewports) {\n viewports.forEach(({ width: viewportWidth, height: viewportHeight }) => {\n const key = `${viewportWidth || 0}x${viewportHeight || 0}`;\n acc[key] = acc[key] || [];\n if (size) acc[key].push(size);\n });\n }\n return acc;\n }, {});\n\n sizeMapping = Object.keys(groupedViewports).map(keyGroupedViewport => {\n const [viewportWidth, viewportHeight] = keyGroupedViewport.split('x');\n return {\n viewport: [Number(viewportWidth), Number(viewportHeight)],\n sizes: groupedViewports[keyGroupedViewport]\n };\n });\n }\n\n return sizeMapping;\n};\n\nconst getMaxBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.max(...bannerSizes.map(o => o.height));\n }\n return MAX_BANNER_HEIGHT;\n};\n\nconst getMinBannerHeight = bannerSizes => {\n if (Array.isArray(bannerSizes) && bannerSizes.length > 0) {\n return Math.min(...bannerSizes.map(o => o.height));\n }\n return MIN_BANNER_HEIGHT;\n};\n\nconst buildUserQuery = userProps => {\n if (!userProps || !userProps.length) return '';\n const basicProps = [];\n const nestedProps = {};\n userProps.forEach(({ propertiesToDisplay }) => {\n const [propKey] = propertiesToDisplay;\n if (!propKey || propKey === 'id') return;\n if (propKey.indexOf('.') !== -1) {\n const [baseProp, nestedProp] = propKey.split('.');\n if (nestedProps[baseProp]) nestedProps[baseProp].push(nestedProp);\n else nestedProps[baseProp] = [nestedProp];\n } else basicProps.push(propKey);\n });\n\n Object.keys(nestedProps).forEach(nestedKey => {\n const nested = nestedProps[nestedKey];\n basicProps.push(nestedKey);\n basicProps.push('{');\n nested.forEach(prop => basicProps.push(prop));\n basicProps.push('}');\n });\n\n return basicProps.join(' ');\n};\n\nconst buildPropsData = (data, props) => {\n if (!data || !props.length) return {};\n const propsWithData = {};\n\n props.forEach(({ propertiesToDisplay, label }) => {\n const [key] = propertiesToDisplay;\n if (!key) return;\n\n const parsedKey = key.split('.');\n const value = getNestedValue(parsedKey, data);\n const labelToUse = label || key;\n\n propsWithData[labelToUse] = value;\n });\n return propsWithData;\n};\n\nconst parseArrayValues = (arr, key) =>\n arr\n .map(obj => obj[key])\n .filter(Boolean)\n .join(', ');\n\nconst getNestedValue = (keys, object) => {\n const key = keys.shift();\n const nestedValue = Array.isArray(object) ? parseArrayValues(object, key) : object[key];\n if (!nestedValue) return null;\n return keys.length ? getNestedValue(keys, nestedValue) : nestedValue;\n};\n\nexport {\n getParsedSizes,\n setCustomTargetings,\n buildParsedAdunit,\n buildBannerSizes,\n buildContextualTargeting,\n buildSizeMapping,\n getMaxBannerHeight,\n getMinBannerHeight,\n buildPropsData,\n buildUserQuery\n};\n"],"file":"helpers.js"}
@@ -52,7 +52,7 @@ const getGenericRenderVariables = (relations, filterProps = {}, stringProps = []
52
52
  const rawQueryStringified = JSON.stringify({
53
53
  query: {
54
54
  function_score: {
55
- query: rawQuery,
55
+ query: rawQuery && rawQuery.query ? rawQuery.query : rawQuery,
56
56
  random_score: {},
57
57
  boost_mode: 'replace'
58
58
  }
@@ -70,9 +70,7 @@ const getGenericRenderVariables = (relations, filterProps = {}, stringProps = []
70
70
  limit: limitToUse,
71
71
  offset: offsetToUse
72
72
  }, sort), {}, {
73
- rawQueryStringified: JSON.stringify({
74
- query: rawQuery
75
- })
73
+ rawQueryStringified: JSON.stringify(rawQuery)
76
74
  });
77
75
  };
78
76
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/helpers/get-generic-render-variables.js"],"names":["getSortbyFieldName","DEFAULT_LIMIT","DEFAULT_OFFSET","buildSortValues","sortFilters","relations","stringProps","length","sort","sortValues","map","propsToDisplay","sortFieldName","toLowerCase","filter","Boolean","join","getCorrectSort","filterProps","isTextSearchApplied","sortby","sortProperties","getGenericRenderVariables","rawQuery","isTextSearchFilterApplied","useRandomSort","limit","offset","limitToUse","Number","offsetToUse","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode"],"mappings":";;;;;;AAAA,OAAOA,kBAAP,MAA+B,0BAA/B;AACA,SAASC,aAAT,EAAwBC,cAAxB,QAA8C,cAA9C;;AAEA,MAAMC,eAAe,GAAG,CAACC,WAAD,EAAcC,SAAd,EAAyBC,WAAzB,KAAyC;AAC/D,MAAI,CAACF,WAAD,IAAgB,CAACA,WAAW,CAACG,MAAjC,EAAyC,OAAO;AAAEC,IAAAA,IAAI,EAAE;AAAR,GAAP;AAEzC,QAAMC,UAAU,GAAGL,WAAW,CAC3BM,GADgB,CACZ,CAAC;AAAEF,IAAAA,IAAF;AAAQG,IAAAA;AAAR,GAAD,KAA8B;AACjC,QAAI,CAACH,IAAL,EAAW,OAAO,IAAP;AAEX,UAAMI,aAAa,GAAGZ,kBAAkB,CAACK,SAAD,EAAYM,cAAZ,EAA4BL,WAA5B,CAAxC;AACA,WAAOM,aAAa,GAAI,GAAEA,aAAc,IAAGJ,IAAI,CAACK,WAAL,EAAmB,EAA1C,GAA8C,IAAlE;AACD,GANgB,EAOhBC,MAPgB,CAOTC,OAPS,EAQhBC,IARgB,CAQX,GARW,CAAnB;AAUA,SAAO;AAAER,IAAAA,IAAI,EAAEC;AAAR,GAAP;AACD,CAdD;;AAeA,MAAMQ,cAAc,GAAG,CAACZ,SAAD,EAAYa,WAAZ,EAAyBZ,WAAzB,EAAsCa,mBAAtC,KAA8D;AACnF,MAAIA,mBAAJ,EAAyB;AACvB,WAAO,EAAP;AACD;;AACD,QAAM;AAAEX,IAAAA,IAAF;AAAQY,IAAAA,MAAR;AAAgBC,IAAAA,cAAc,GAAG;AAAjC,MAAwCH,WAA9C;AAEA,SAAOf,eAAe,CACpB,CAAC;AAAEK,IAAAA,IAAF;AAAQG,IAAAA,cAAc,EAAES;AAAxB,GAAD,EAAmC,GAAGC,cAAtC,CADoB,EAEpBhB,SAFoB,EAGpBC,WAHoB,CAAtB;AAKD,CAXD;;AAaA,MAAMgB,yBAAyB,GAAG,CAChCjB,SADgC,EAEhCa,WAAW,GAAG,EAFkB,EAGhCZ,WAAW,GAAG,EAHkB,EAIhCiB,QAAQ,GAAG,EAJqB,EAKhCC,yBAAyB,GAAG,KALI,EAMhCC,aAAa,GAAG,KANgB,KAO7B;AACH,QAAM;AAAEC,IAAAA,KAAK,GAAGzB,aAAV;AAAyB0B,IAAAA;AAAzB,MAAoCT,WAA1C;AACA,QAAMU,UAAU,GAAGC,MAAM,CAACH,KAAK,IAAIzB,aAAV,CAAzB;AACA,QAAM6B,WAAW,GAAGD,MAAM,CAACF,MAAM,IAAIzB,cAAX,CAA1B;;AAEA,MAAIuB,aAAJ,EAAmB;AACjB,UAAMM,mBAAmB,GAAGC,IAAI,CAACC,SAAL,CAAe;AACzCC,MAAAA,KAAK,EAAE;AACLC,QAAAA,cAAc,EAAE;AACdD,UAAAA,KAAK,EAAEX,QADO;AAEda,UAAAA,YAAY,EAAE,EAFA;AAGdC,UAAAA,UAAU,EAAE;AAHE;AADX;AADkC,KAAf,CAA5B;AAUA,WAAO;AACLX,MAAAA,KAAK,EAAEE,UADF;AAELD,MAAAA,MAAM,EAAEG,WAFH;AAGLC,MAAAA;AAHK,KAAP;AAKD;;AAED,QAAMvB,IAAI,GAAGS,cAAc,CAACZ,SAAD,EAAYa,WAAZ,EAAyBZ,WAAzB,EAAsCkB,yBAAtC,CAA3B;AAEA;AACEE,IAAAA,KAAK,EAAEE,UADT;AAEED,IAAAA,MAAM,EAAEG;AAFV,KAGKtB,IAHL;AAIEuB,IAAAA,mBAAmB,EAAEC,IAAI,CAACC,SAAL,CAAe;AAClCC,MAAAA,KAAK,EAAEX;AAD2B,KAAf;AAJvB;AAQD,CAxCD;;AA0CA,eAAeD,yBAAf","sourcesContent":["import getSortbyFieldName from './get-sort-by-field-name';\nimport { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\n\nconst buildSortValues = (sortFilters, relations, stringProps) => {\n if (!sortFilters || !sortFilters.length) return { sort: [] };\n\n const sortValues = sortFilters\n .map(({ sort, propsToDisplay }) => {\n if (!sort) return null;\n\n const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);\n return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;\n })\n .filter(Boolean)\n .join(',');\n\n return { sort: sortValues };\n};\nconst getCorrectSort = (relations, filterProps, stringProps, isTextSearchApplied) => {\n if (isTextSearchApplied) {\n return {};\n }\n const { sort, sortby, sortProperties = [] } = filterProps;\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...sortProperties],\n relations,\n stringProps\n );\n};\n\nconst getGenericRenderVariables = (\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n isTextSearchFilterApplied = false,\n useRandomSort = false\n) => {\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const limitToUse = Number(limit || DEFAULT_LIMIT);\n const offsetToUse = Number(offset || DEFAULT_OFFSET);\n\n if (useRandomSort) {\n const rawQueryStringified = JSON.stringify({\n query: {\n function_score: {\n query: rawQuery,\n random_score: {},\n boost_mode: 'replace'\n }\n }\n });\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified\n };\n }\n\n const sort = getCorrectSort(relations, filterProps, stringProps, isTextSearchFilterApplied);\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify({\n query: rawQuery\n })\n };\n};\n\nexport default getGenericRenderVariables;\n"],"file":"get-generic-render-variables.js"}
1
+ {"version":3,"sources":["../../src/helpers/get-generic-render-variables.js"],"names":["getSortbyFieldName","DEFAULT_LIMIT","DEFAULT_OFFSET","buildSortValues","sortFilters","relations","stringProps","length","sort","sortValues","map","propsToDisplay","sortFieldName","toLowerCase","filter","Boolean","join","getCorrectSort","filterProps","isTextSearchApplied","sortby","sortProperties","getGenericRenderVariables","rawQuery","isTextSearchFilterApplied","useRandomSort","limit","offset","limitToUse","Number","offsetToUse","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode"],"mappings":";;;;;;AAAA,OAAOA,kBAAP,MAA+B,0BAA/B;AACA,SAASC,aAAT,EAAwBC,cAAxB,QAA8C,cAA9C;;AAEA,MAAMC,eAAe,GAAG,CAACC,WAAD,EAAcC,SAAd,EAAyBC,WAAzB,KAAyC;AAC/D,MAAI,CAACF,WAAD,IAAgB,CAACA,WAAW,CAACG,MAAjC,EAAyC,OAAO;AAAEC,IAAAA,IAAI,EAAE;AAAR,GAAP;AAEzC,QAAMC,UAAU,GAAGL,WAAW,CAC3BM,GADgB,CACZ,CAAC;AAAEF,IAAAA,IAAF;AAAQG,IAAAA;AAAR,GAAD,KAA8B;AACjC,QAAI,CAACH,IAAL,EAAW,OAAO,IAAP;AAEX,UAAMI,aAAa,GAAGZ,kBAAkB,CAACK,SAAD,EAAYM,cAAZ,EAA4BL,WAA5B,CAAxC;AACA,WAAOM,aAAa,GAAI,GAAEA,aAAc,IAAGJ,IAAI,CAACK,WAAL,EAAmB,EAA1C,GAA8C,IAAlE;AACD,GANgB,EAOhBC,MAPgB,CAOTC,OAPS,EAQhBC,IARgB,CAQX,GARW,CAAnB;AAUA,SAAO;AAAER,IAAAA,IAAI,EAAEC;AAAR,GAAP;AACD,CAdD;;AAeA,MAAMQ,cAAc,GAAG,CAACZ,SAAD,EAAYa,WAAZ,EAAyBZ,WAAzB,EAAsCa,mBAAtC,KAA8D;AACnF,MAAIA,mBAAJ,EAAyB;AACvB,WAAO,EAAP;AACD;;AACD,QAAM;AAAEX,IAAAA,IAAF;AAAQY,IAAAA,MAAR;AAAgBC,IAAAA,cAAc,GAAG;AAAjC,MAAwCH,WAA9C;AAEA,SAAOf,eAAe,CACpB,CAAC;AAAEK,IAAAA,IAAF;AAAQG,IAAAA,cAAc,EAAES;AAAxB,GAAD,EAAmC,GAAGC,cAAtC,CADoB,EAEpBhB,SAFoB,EAGpBC,WAHoB,CAAtB;AAKD,CAXD;;AAaA,MAAMgB,yBAAyB,GAAG,CAChCjB,SADgC,EAEhCa,WAAW,GAAG,EAFkB,EAGhCZ,WAAW,GAAG,EAHkB,EAIhCiB,QAAQ,GAAG,EAJqB,EAKhCC,yBAAyB,GAAG,KALI,EAMhCC,aAAa,GAAG,KANgB,KAO7B;AACH,QAAM;AAAEC,IAAAA,KAAK,GAAGzB,aAAV;AAAyB0B,IAAAA;AAAzB,MAAoCT,WAA1C;AACA,QAAMU,UAAU,GAAGC,MAAM,CAACH,KAAK,IAAIzB,aAAV,CAAzB;AACA,QAAM6B,WAAW,GAAGD,MAAM,CAACF,MAAM,IAAIzB,cAAX,CAA1B;;AAEA,MAAIuB,aAAJ,EAAmB;AACjB,UAAMM,mBAAmB,GAAGC,IAAI,CAACC,SAAL,CAAe;AACzCC,MAAAA,KAAK,EAAE;AACLC,QAAAA,cAAc,EAAE;AACdD,UAAAA,KAAK,EAAEX,QAAQ,IAAIA,QAAQ,CAACW,KAArB,GAA6BX,QAAQ,CAACW,KAAtC,GAA8CX,QADvC;AAEda,UAAAA,YAAY,EAAE,EAFA;AAGdC,UAAAA,UAAU,EAAE;AAHE;AADX;AADkC,KAAf,CAA5B;AAUA,WAAO;AACLX,MAAAA,KAAK,EAAEE,UADF;AAELD,MAAAA,MAAM,EAAEG,WAFH;AAGLC,MAAAA;AAHK,KAAP;AAKD;;AAED,QAAMvB,IAAI,GAAGS,cAAc,CAACZ,SAAD,EAAYa,WAAZ,EAAyBZ,WAAzB,EAAsCkB,yBAAtC,CAA3B;AAEA;AACEE,IAAAA,KAAK,EAAEE,UADT;AAEED,IAAAA,MAAM,EAAEG;AAFV,KAGKtB,IAHL;AAIEuB,IAAAA,mBAAmB,EAAEC,IAAI,CAACC,SAAL,CAAeV,QAAf;AAJvB;AAMD,CAtCD;;AAwCA,eAAeD,yBAAf","sourcesContent":["import getSortbyFieldName from './get-sort-by-field-name';\nimport { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\n\nconst buildSortValues = (sortFilters, relations, stringProps) => {\n if (!sortFilters || !sortFilters.length) return { sort: [] };\n\n const sortValues = sortFilters\n .map(({ sort, propsToDisplay }) => {\n if (!sort) return null;\n\n const sortFieldName = getSortbyFieldName(relations, propsToDisplay, stringProps);\n return sortFieldName ? `${sortFieldName}:${sort.toLowerCase()}` : null;\n })\n .filter(Boolean)\n .join(',');\n\n return { sort: sortValues };\n};\nconst getCorrectSort = (relations, filterProps, stringProps, isTextSearchApplied) => {\n if (isTextSearchApplied) {\n return {};\n }\n const { sort, sortby, sortProperties = [] } = filterProps;\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...sortProperties],\n relations,\n stringProps\n );\n};\n\nconst getGenericRenderVariables = (\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n isTextSearchFilterApplied = false,\n useRandomSort = false\n) => {\n const { limit = DEFAULT_LIMIT, offset } = filterProps;\n const limitToUse = Number(limit || DEFAULT_LIMIT);\n const offsetToUse = Number(offset || DEFAULT_OFFSET);\n\n if (useRandomSort) {\n const rawQueryStringified = JSON.stringify({\n query: {\n function_score: {\n query: rawQuery && rawQuery.query ? rawQuery.query : rawQuery,\n random_score: {},\n boost_mode: 'replace'\n }\n }\n });\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified\n };\n }\n\n const sort = getCorrectSort(relations, filterProps, stringProps, isTextSearchFilterApplied);\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify(rawQuery)\n };\n};\n\nexport default getGenericRenderVariables;\n"],"file":"get-generic-render-variables.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/react-page-builder",
3
- "version": "0.120.0-alpha.4",
3
+ "version": "0.120.1",
4
4
  "description": "Blaze react page builder",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -83,5 +83,5 @@
83
83
  "lib/*",
84
84
  "lib-es/*"
85
85
  ],
86
- "gitHead": "f5d9c39f0972aa3a1626110fd9f2b12a9ed7df20"
86
+ "gitHead": "1cf69b010ec6b72069e9d9e231c1fec16232a2d7"
87
87
  }
@@ -160,6 +160,8 @@ const buildPropsData = (data, props) => {
160
160
 
161
161
  props.forEach(({ propertiesToDisplay, label }) => {
162
162
  const [key] = propertiesToDisplay;
163
+ if (!key) return;
164
+
163
165
  const parsedKey = key.split('.');
164
166
  const value = getNestedValue(parsedKey, data);
165
167
  const labelToUse = label || key;
@@ -45,7 +45,7 @@ const getGenericRenderVariables = (
45
45
  const rawQueryStringified = JSON.stringify({
46
46
  query: {
47
47
  function_score: {
48
- query: rawQuery,
48
+ query: rawQuery && rawQuery.query ? rawQuery.query : rawQuery,
49
49
  random_score: {},
50
50
  boost_mode: 'replace'
51
51
  }
@@ -65,9 +65,7 @@ const getGenericRenderVariables = (
65
65
  limit: limitToUse,
66
66
  offset: offsetToUse,
67
67
  ...sort,
68
- rawQueryStringified: JSON.stringify({
69
- query: rawQuery
70
- })
68
+ rawQueryStringified: JSON.stringify(rawQuery)
71
69
  };
72
70
  };
73
71
 
@@ -148,11 +148,14 @@ describe('buildContextualTargeting helper', () => {
148
148
  expect(contextualTargeting).toEqual({});
149
149
  });
150
150
 
151
- it('should return an object with correct targeting', () => {
151
+ it('should return an object with correct targeting, handling missing property', () => {
152
152
  const contextualTargeting = buildContextualTargeting(
153
153
  'getPages',
154
154
  { getPages: [{ metaTitle: 'test' }] },
155
- [{ label: 'definedKey', propertiesToDisplay: ['metaTitle'] }]
155
+ [
156
+ { label: 'definedKey', propertiesToDisplay: ['metaTitle'] },
157
+ { label: 'missingProp', propertiesToDisplay: [] }
158
+ ]
156
159
  );
157
160
  expect(contextualTargeting).toEqual({ definedKey: 'test' });
158
161
  });