@blaze-cms/react-page-builder 0.133.0-admin-updates.1 → 0.133.0-admin-updates.6
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 +32 -0
- package/lib/components/Banner/AdSlotRender.js +12 -3
- package/lib/components/Banner/AdSlotRender.js.map +1 -1
- package/lib/components/Banner/Banner.js +4 -7
- package/lib/components/Banner/Banner.js.map +1 -1
- package/lib/components/Banner/BannerRender.js +5 -1
- package/lib/components/Banner/BannerRender.js.map +1 -1
- package/lib/components/Button.js +1 -1
- package/lib/components/Button.js.map +1 -1
- package/lib/components/List/helpers/get-sort-props.js +9 -6
- package/lib/components/List/helpers/get-sort-props.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js +1 -1
- package/lib/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib/helpers/get-generic-render-variables.js +17 -12
- package/lib/helpers/get-generic-render-variables.js.map +1 -1
- package/lib-es/components/Banner/AdSlotRender.js +12 -3
- package/lib-es/components/Banner/AdSlotRender.js.map +1 -1
- package/lib-es/components/Banner/Banner.js +4 -7
- package/lib-es/components/Banner/Banner.js.map +1 -1
- package/lib-es/components/Banner/BannerRender.js +6 -2
- package/lib-es/components/Banner/BannerRender.js.map +1 -1
- package/lib-es/components/Button.js +1 -1
- package/lib-es/components/Button.js.map +1 -1
- package/lib-es/components/List/helpers/get-sort-props.js +9 -6
- package/lib-es/components/List/helpers/get-sort-props.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js +1 -1
- package/lib-es/components/SearchFilter/SearchFilter/SearchFilter.js.map +1 -1
- package/lib-es/helpers/get-generic-render-variables.js +2 -1
- package/lib-es/helpers/get-generic-render-variables.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Banner/AdSlotRender.js +9 -5
- package/src/components/Banner/Banner.js +9 -11
- package/src/components/Banner/BannerRender.js +4 -0
- package/src/components/Button.js +1 -1
- package/src/components/List/helpers/get-sort-props.js +4 -6
- package/src/components/SearchFilter/SearchFilter/SearchFilter.js +1 -1
- package/src/helpers/get-generic-render-variables.js +2 -1
- package/tests/unit/src/components/Banner/AdSlotRender.test.js +6 -11
- package/tests/unit/src/components/Banner/__snapshots__/AdSlotRender.test.js.snap +45 -25
- package/tests/unit/src/components/Banner/__snapshots__/BannerRender.test.js.snap +8 -3
- package/tests/unit/src/components/List/helpers/get-sort-props.test.js +23 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-generic-render-variables.js","names":["_constants","require","_buildSortValues","_interopRequireDefault","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","getCorrectSort","relations","filterProps","stringProps","useSortObject","sort","sortby","_filterProps$sortProp","sortProperties","buildSortValues","propsToDisplay","concat","
|
|
1
|
+
{"version":3,"file":"get-generic-render-variables.js","names":["_constants","require","_buildSortValues","_interopRequireDefault","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","getCorrectSort","relations","filterProps","stringProps","useSortObject","sort","sortby","_filterProps$sortProp","sortProperties","_ref","_ref2","_slicedToArray2","_ref2$","sortProperty","buildSortValues","propsToDisplay","concat","getGenericRenderVariables","_ref3","_ref3$filterProps","_ref3$stringProps","_ref3$rawQuery","rawQuery","_ref3$useRandomSort","useRandomSort","rawQueryCopy","_filterProps$limit","limit","DEFAULT_LIMIT","offset","limitToUse","Number","offsetToUse","DEFAULT_OFFSET","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode","_toConsumableArray2","_default","exports"],"sources":["../../src/helpers/get-generic-render-variables.js"],"sourcesContent":["import { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\nimport buildSortValues from './build-sort-values';\n\nconst getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {\n const { sort, sortby, sortProperties = [] } = filterProps;\n const [sortProperty = []] = sortProperties || [];\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...[sortProperty]],\n relations,\n stringProps,\n useSortObject\n );\n};\n\nconst getGenericRenderVariables = ({\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n useRandomSort = false\n}) => {\n const rawQueryCopy = { ...rawQuery };\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: rawQueryCopy && rawQueryCopy.query ? rawQueryCopy.query : rawQueryCopy,\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, !!rawQueryCopy.sort);\n\n if (rawQueryCopy.sort && sort) {\n rawQueryCopy.sort = [...rawQueryCopy.sort, sort];\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n }\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n};\n\nexport default getGenericRenderVariables;\n"],"mappings":"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"}
|
|
@@ -2,12 +2,14 @@ import React, { useState } from 'react';
|
|
|
2
2
|
import { AdSlot } from 'react-dfp';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';
|
|
5
|
+
import Wrapper from '../Wrapper';
|
|
5
6
|
const AdSlotRender = ({
|
|
6
7
|
shouldShowBanner,
|
|
7
8
|
sizeMapping,
|
|
8
9
|
sizeId,
|
|
9
10
|
parsedAdunit,
|
|
10
11
|
parsedSizes,
|
|
12
|
+
modifiers,
|
|
11
13
|
targetingArguments
|
|
12
14
|
}) => {
|
|
13
15
|
const [{
|
|
@@ -23,11 +25,16 @@ const AdSlotRender = ({
|
|
|
23
25
|
return `@media(min-width:${minWidth}px){.${bannerClass}{min-height:${minimumHeight}px;}`;
|
|
24
26
|
}).sort();
|
|
25
27
|
const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;
|
|
26
|
-
|
|
28
|
+
const newModifers = `${modifiers} banner-${loadingStatus}`;
|
|
29
|
+
return /*#__PURE__*/React.createElement(Wrapper, {
|
|
30
|
+
className: "banner",
|
|
31
|
+
modifiers: newModifers
|
|
32
|
+
}, styles && /*#__PURE__*/React.createElement("style", null, styles.join('\n')), /*#__PURE__*/React.createElement("div", {
|
|
27
33
|
className: className,
|
|
28
34
|
style: {
|
|
29
35
|
minHeight
|
|
30
|
-
}
|
|
36
|
+
},
|
|
37
|
+
"data-testid": "ad-slot"
|
|
31
38
|
}, shouldShowBanner && /*#__PURE__*/React.createElement(AdSlot, {
|
|
32
39
|
adUnit: parsedAdunit,
|
|
33
40
|
sizes: parsedSizes,
|
|
@@ -55,10 +62,12 @@ AdSlotRender.propTypes = {
|
|
|
55
62
|
sizeId: PropTypes.string.isRequired,
|
|
56
63
|
parsedAdunit: PropTypes.string.isRequired,
|
|
57
64
|
parsedSizes: PropTypes.array,
|
|
65
|
+
modifiers: PropTypes.string,
|
|
58
66
|
targetingArguments: PropTypes.object.isRequired
|
|
59
67
|
};
|
|
60
68
|
AdSlotRender.defaultProps = {
|
|
61
|
-
parsedSizes: null
|
|
69
|
+
parsedSizes: null,
|
|
70
|
+
modifiers: ''
|
|
62
71
|
};
|
|
63
72
|
export default AdSlotRender;
|
|
64
73
|
//# sourceMappingURL=AdSlotRender.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdSlotRender.js","names":["React","useState","AdSlot","PropTypes","BANNER_LOADING","BANNER_EMPTY","BANNER_LOADED","AdSlotRender","shouldShowBanner","sizeMapping","sizeId","parsedAdunit","parsedSizes","targetingArguments","loadingStatus","minHeight","setLoadingStatus","bannerClass","styles","map","sizes","styleSizes","viewport","minWidth","minimumHeight","Math","min","height","sort","className","
|
|
1
|
+
{"version":3,"file":"AdSlotRender.js","names":["React","useState","AdSlot","PropTypes","BANNER_LOADING","BANNER_EMPTY","BANNER_LOADED","Wrapper","AdSlotRender","shouldShowBanner","sizeMapping","sizeId","parsedAdunit","parsedSizes","modifiers","targetingArguments","loadingStatus","minHeight","setLoadingStatus","bannerClass","styles","map","sizes","styleSizes","viewport","minWidth","minimumHeight","Math","min","height","sort","className","newModifers","createElement","join","style","adUnit","onSlotRender","slotData","event","isEmpty","size","slotHeight","length","undefined","newLoadingStatus","propTypes","bool","isRequired","array","string","object","defaultProps"],"sources":["../../../src/components/Banner/AdSlotRender.js"],"sourcesContent":["import React, { useState } from 'react';\nimport { AdSlot } from 'react-dfp';\nimport PropTypes from 'prop-types';\nimport { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';\nimport Wrapper from '../Wrapper';\n\nconst AdSlotRender = ({\n shouldShowBanner,\n sizeMapping,\n sizeId,\n parsedAdunit,\n parsedSizes,\n modifiers,\n targetingArguments\n}) => {\n const [{ loadingStatus = BANNER_LOADING, minHeight }, setLoadingStatus] = useState({});\n\n const bannerClass = `banner-${sizeId}`;\n\n const styles =\n loadingStatus === BANNER_LOADING &&\n sizeMapping\n .map(({ sizes: styleSizes, viewport: [minWidth] }) => {\n const minimumHeight = Math.min(...styleSizes.map(([, height]) => height));\n return `@media(min-width:${minWidth}px){.${bannerClass}{min-height:${minimumHeight}px;}`;\n })\n .sort();\n const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;\n const newModifers = `${modifiers} banner-${loadingStatus}`;\n return (\n <Wrapper className=\"banner\" modifiers={newModifers}>\n {styles && <style>{styles.join('\\n')}</style>}\n <div className={className} style={{ minHeight }} data-testid=\"ad-slot\">\n {shouldShowBanner && (\n <AdSlot\n adUnit={parsedAdunit}\n sizes={parsedSizes}\n targetingArguments={targetingArguments}\n sizeMapping={sizeMapping}\n onSlotRender={slotData => {\n const {\n event: { isEmpty, size }\n } = slotData;\n const slotHeight = size && size.length ? size[1] : undefined;\n const newLoadingStatus = isEmpty ? BANNER_EMPTY : BANNER_LOADED;\n setLoadingStatus({ loadingStatus: newLoadingStatus, minHeight: slotHeight });\n }}\n />\n )}\n </div>\n </Wrapper>\n );\n};\n\nAdSlotRender.propTypes = {\n shouldShowBanner: PropTypes.bool.isRequired,\n sizeMapping: PropTypes.array.isRequired,\n sizeId: PropTypes.string.isRequired,\n parsedAdunit: PropTypes.string.isRequired,\n parsedSizes: PropTypes.array,\n modifiers: PropTypes.string,\n targetingArguments: PropTypes.object.isRequired\n};\n\nAdSlotRender.defaultProps = {\n parsedSizes: null,\n modifiers: ''\n};\n\nexport default AdSlotRender;\n"],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ import { useQuery } from '@apollo/client';
|
|
|
10
10
|
import { useRouter } from 'next/router';
|
|
11
11
|
import { buildUserQuery, buildPropsData } from './helpers';
|
|
12
12
|
import { getSingleEntitySchema, getUser } from '../../application/query';
|
|
13
|
-
import Wrapper from '../Wrapper';
|
|
14
13
|
import BannerRender from './BannerRender';
|
|
15
14
|
import buildPropsQuery from '../../helpers/build-props-query';
|
|
16
15
|
import { getClassModifiers } from '../../utils';
|
|
@@ -75,17 +74,15 @@ const Banner = _ref => {
|
|
|
75
74
|
action
|
|
76
75
|
} = getEntityRenderProps(queryProps, data, isPreview);
|
|
77
76
|
const bannerKey = `${sizeId}${asPath}`;
|
|
78
|
-
return /*#__PURE__*/React.createElement(
|
|
79
|
-
className: type,
|
|
80
|
-
modifiers: modifiers
|
|
81
|
-
}, /*#__PURE__*/React.createElement(BannerRender, _extends({
|
|
77
|
+
return /*#__PURE__*/React.createElement(BannerRender, _extends({
|
|
82
78
|
key: bannerKey
|
|
83
79
|
}, otherProps, {
|
|
84
80
|
action: action,
|
|
85
81
|
actionKey: actionKey,
|
|
86
82
|
asPath: asPath,
|
|
87
|
-
userPropsData: userPropsData
|
|
88
|
-
|
|
83
|
+
userPropsData: userPropsData,
|
|
84
|
+
modifiers: modifiers
|
|
85
|
+
}));
|
|
89
86
|
};
|
|
90
87
|
Banner.propTypes = {
|
|
91
88
|
type: PropTypes.string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.js","names":["React","useContext","MainContext","checkIfLoggedIn","PropTypes","flatten","useQuery","useRouter","buildUserQuery","buildPropsData","getSingleEntitySchema","getUser","
|
|
1
|
+
{"version":3,"file":"Banner.js","names":["React","useContext","MainContext","checkIfLoggedIn","PropTypes","flatten","useQuery","useRouter","buildUserQuery","buildPropsData","getSingleEntitySchema","getUser","BannerRender","buildPropsQuery","getClassModifiers","getEntityRenderProps","Banner","_ref","type","otherProps","_objectWithoutProperties","_excluded","router","isPreview","id","userId","asPath","parent","entity","sizeId","propsToDisplay","userPropsToDisplay","userQuery","itemEntity","data","error","loading","variables","userData","userLoading","skip","length","message","modifiers","queryProps","map","propertiesToDisplay","userPropsData","actionKey","action","bannerKey","createElement","_extends","key","propTypes","string","defaultProps"],"sources":["../../../src/components/Banner/Banner.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';\nimport PropTypes from 'prop-types';\nimport flatten from 'lodash.flatten';\nimport { useQuery } from '@apollo/client';\nimport { useRouter } from 'next/router';\nimport { buildUserQuery, buildPropsData } from './helpers';\nimport { getSingleEntitySchema, getUser } from '../../application/query';\nimport BannerRender from './BannerRender';\nimport buildPropsQuery from '../../helpers/build-props-query';\nimport { getClassModifiers } from '../../utils';\nimport getEntityRenderProps from '../../helpers/get-entity-render-props';\n\nconst Banner = ({ type, ...otherProps }) => {\n const router = useRouter();\n const { isPreview } = useContext(MainContext);\n const { id: userId } = checkIfLoggedIn();\n const { asPath } = router;\n const { parent, entity, sizeId, propsToDisplay = [], userPropsToDisplay = [] } = otherProps;\n const userQuery = buildUserQuery(userPropsToDisplay);\n const { itemEntity } = parent;\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entity || itemEntity }\n });\n const { data: { getUser: userData } = {}, loading: userLoading } = useQuery(getUser(userQuery), {\n variables: { id: userId },\n skip: !userPropsToDisplay.length || !userId\n });\n\n if (loading || userLoading) return '';\n if (error) return error.message;\n if (!data) return null;\n if (!sizeId) return null;\n\n const modifiers = getClassModifiers('banner', otherProps);\n const queryProps = buildPropsQuery(\n data,\n propsToDisplay.length\n ? flatten(propsToDisplay.map(({ propertiesToDisplay }) => propertiesToDisplay))\n : []\n );\n\n const userPropsData = buildPropsData(userData, userPropsToDisplay);\n const { actionKey, action } = getEntityRenderProps(queryProps, data, isPreview);\n const bannerKey = `${sizeId}${asPath}`;\n\n return (\n <BannerRender\n key={bannerKey}\n {...otherProps}\n action={action}\n actionKey={actionKey}\n asPath={asPath}\n userPropsData={userPropsData}\n modifiers={modifiers}\n />\n );\n};\n\nBanner.propTypes = {\n type: PropTypes.string\n};\n\nBanner.defaultProps = {\n type: 'banner'\n};\n\nexport default Banner;\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["baseAdunit", "adunit", "sizeId", "sizes", "propsToDisplay", "entity", "targetings", "parent", "asPath", "action", "actionKey", "renderCounter", "userPropsData"];
|
|
3
|
+
const _excluded = ["baseAdunit", "adunit", "sizeId", "sizes", "propsToDisplay", "entity", "targetings", "parent", "asPath", "action", "actionKey", "renderCounter", "userPropsData", "modifiers"];
|
|
4
4
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
5
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
6
|
import React from 'react';
|
|
@@ -25,7 +25,8 @@ const BannerRender = _ref => {
|
|
|
25
25
|
action,
|
|
26
26
|
actionKey,
|
|
27
27
|
renderCounter,
|
|
28
|
-
userPropsData
|
|
28
|
+
userPropsData,
|
|
29
|
+
modifiers
|
|
29
30
|
} = _ref,
|
|
30
31
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
31
32
|
const {
|
|
@@ -88,6 +89,7 @@ const BannerRender = _ref => {
|
|
|
88
89
|
sizeId: sizeId,
|
|
89
90
|
parsedAdunit: parsedAdunit,
|
|
90
91
|
parsedSizes: parsedSizes,
|
|
92
|
+
modifiers: modifiers,
|
|
91
93
|
targetingArguments: targetingArguments
|
|
92
94
|
});
|
|
93
95
|
};
|
|
@@ -104,6 +106,7 @@ BannerRender.propTypes = {
|
|
|
104
106
|
targetings: PropTypes.string,
|
|
105
107
|
sizes: PropTypes.string,
|
|
106
108
|
renderCounter: PropTypes.number,
|
|
109
|
+
modifiers: PropTypes.string,
|
|
107
110
|
userPropsData: PropTypes.object
|
|
108
111
|
};
|
|
109
112
|
BannerRender.defaultProps = {
|
|
@@ -115,6 +118,7 @@ BannerRender.defaultProps = {
|
|
|
115
118
|
targetings: '',
|
|
116
119
|
sizes: '',
|
|
117
120
|
renderCounter: null,
|
|
121
|
+
modifiers: '',
|
|
118
122
|
userPropsData: {}
|
|
119
123
|
};
|
|
120
124
|
export default withTitle(BannerRender);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BannerRender.js","names":["React","PropTypes","useQuery","generateSingleItemQuery","getCount","buildBannerSizes","buildContextualTargeting","buildParsedAdunit","buildSizeMapping","setCustomTargetings","BANNER_QUERY_PROPS","COUNT_CONTENT_HIERARCHIES","GET_BANNER","PUBLISHED","withTitle","AdSlotRender","BannerRender","_ref","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","renderCounter","userPropsData","otherProps","_objectWithoutProperties","_excluded","id","itemId","data","entityRecordData","variables","where","skip","bannerData","parentId","childEntity","_ilike","parsedTargetings","entityData","bannerSizes","sizeMapping","parsedSizes","countContentHierarchies","parsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","targetingArguments","_objectSpread","createElement","propTypes","object","isRequired","string","array","number","defaultProps"],"sources":["../../../src/components/Banner/BannerRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useQuery } from '@apollo/client';\n\nimport { generateSingleItemQuery, getCount } from '../../application/query';\nimport {\n buildBannerSizes,\n buildContextualTargeting,\n buildParsedAdunit,\n buildSizeMapping,\n setCustomTargetings\n} from './helpers';\nimport {\n BANNER_QUERY_PROPS,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n PUBLISHED\n} from '../../constants';\nimport { withTitle } from '../../HOC';\nimport AdSlotRender from './AdSlotRender';\n\nconst BannerRender = ({\n baseAdunit,\n adunit,\n sizeId,\n sizes,\n propsToDisplay,\n entity,\n targetings,\n parent,\n asPath,\n action,\n actionKey,\n renderCounter,\n userPropsData,\n ...otherProps\n}) => {\n const { id } = otherProps;\n const { itemId } = parent;\n\n const { data: entityRecordData = {} } = useQuery(action, {\n variables: { where: { id: id || itemId } },\n skip: id && id !== itemId\n });\n\n const { data: bannerData = {} } = useQuery(\n generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS),\n {\n variables: { id: sizeId },\n skip: !sizeId\n }\n );\n\n const { data = {} } = useQuery(getCount(COUNT_CONTENT_HIERARCHIES), {\n variables: {\n where: {\n parentId: id || itemId,\n childEntity: {\n _ilike: `${PUBLISHED}_%`\n }\n }\n }\n });\n\n const parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);\n const { entityData } = bannerData;\n const { sizes: bannerSizes } = entityData || {};\n\n const sizeMapping = buildSizeMapping(sizeId, bannerSizes);\n const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);\n\n const { countContentHierarchies } = data;\n\n const parsedAdunit = buildParsedAdunit(asPath, countContentHierarchies, baseAdunit, adunit);\n const isContextualTargetingSet =\n propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;\n const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;\n const shouldShowBanner =\n parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;\n\n const customTargetings = setCustomTargetings(targetings, renderCounter);\n\n const targetingArguments = { ...parsedTargetings, ...customTargetings, ...userPropsData };\n\n return (\n <AdSlotRender\n shouldShowBanner={!!shouldShowBanner}\n sizeMapping={sizeMapping}\n sizeId={sizeId}\n parsedAdunit={parsedAdunit}\n parsedSizes={parsedSizes}\n targetingArguments={targetingArguments}\n />\n );\n};\n\nBannerRender.propTypes = {\n parent: PropTypes.object.isRequired,\n asPath: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n adunit: PropTypes.string,\n baseAdunit: PropTypes.string,\n sizeId: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n targetings: PropTypes.string,\n sizes: PropTypes.string,\n renderCounter: PropTypes.number,\n userPropsData: PropTypes.object\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n renderCounter: null,\n userPropsData: {}\n};\n\nexport default withTitle(BannerRender);\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,QAAQ,QAAQ,gBAAgB;AAEzC,SAASC,uBAAuB,EAAEC,QAAQ,QAAQ,yBAAyB;AAC3E,SACEC,gBAAgB,EAChBC,wBAAwB,EACxBC,iBAAiB,EACjBC,gBAAgB,EAChBC,mBAAmB,QACd,WAAW;AAClB,SACEC,kBAAkB,EAClBC,yBAAyB,EACzBC,UAAU,EACVC,SAAS,QACJ,iBAAiB;AACxB,SAASC,SAAS,QAAQ,WAAW;AACrC,OAAOC,YAAY,MAAM,gBAAgB;AAEzC,MAAMC,YAAY,GAAGC,IAAA,
|
|
1
|
+
{"version":3,"file":"BannerRender.js","names":["React","PropTypes","useQuery","generateSingleItemQuery","getCount","buildBannerSizes","buildContextualTargeting","buildParsedAdunit","buildSizeMapping","setCustomTargetings","BANNER_QUERY_PROPS","COUNT_CONTENT_HIERARCHIES","GET_BANNER","PUBLISHED","withTitle","AdSlotRender","BannerRender","_ref","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","renderCounter","userPropsData","modifiers","otherProps","_objectWithoutProperties","_excluded","id","itemId","data","entityRecordData","variables","where","skip","bannerData","parentId","childEntity","_ilike","parsedTargetings","entityData","bannerSizes","sizeMapping","parsedSizes","countContentHierarchies","parsedAdunit","isContextualTargetingSet","length","Object","keys","isContextualTargetingReady","shouldShowBanner","customTargetings","targetingArguments","_objectSpread","createElement","propTypes","object","isRequired","string","array","number","defaultProps"],"sources":["../../../src/components/Banner/BannerRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useQuery } from '@apollo/client';\n\nimport { generateSingleItemQuery, getCount } from '../../application/query';\nimport {\n buildBannerSizes,\n buildContextualTargeting,\n buildParsedAdunit,\n buildSizeMapping,\n setCustomTargetings\n} from './helpers';\nimport {\n BANNER_QUERY_PROPS,\n COUNT_CONTENT_HIERARCHIES,\n GET_BANNER,\n PUBLISHED\n} from '../../constants';\nimport { withTitle } from '../../HOC';\nimport AdSlotRender from './AdSlotRender';\n\nconst BannerRender = ({\n baseAdunit,\n adunit,\n sizeId,\n sizes,\n propsToDisplay,\n entity,\n targetings,\n parent,\n asPath,\n action,\n actionKey,\n renderCounter,\n userPropsData,\n modifiers,\n ...otherProps\n}) => {\n const { id } = otherProps;\n const { itemId } = parent;\n\n const { data: entityRecordData = {} } = useQuery(action, {\n variables: { where: { id: id || itemId } },\n skip: id && id !== itemId\n });\n\n const { data: bannerData = {} } = useQuery(\n generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS),\n {\n variables: { id: sizeId },\n skip: !sizeId\n }\n );\n\n const { data = {} } = useQuery(getCount(COUNT_CONTENT_HIERARCHIES), {\n variables: {\n where: {\n parentId: id || itemId,\n childEntity: {\n _ilike: `${PUBLISHED}_%`\n }\n }\n }\n });\n\n const parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);\n const { entityData } = bannerData;\n const { sizes: bannerSizes } = entityData || {};\n\n const sizeMapping = buildSizeMapping(sizeId, bannerSizes);\n const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);\n\n const { countContentHierarchies } = data;\n\n const parsedAdunit = buildParsedAdunit(asPath, countContentHierarchies, baseAdunit, adunit);\n const isContextualTargetingSet =\n propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;\n const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;\n const shouldShowBanner =\n parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;\n\n const customTargetings = setCustomTargetings(targetings, renderCounter);\n\n const targetingArguments = { ...parsedTargetings, ...customTargetings, ...userPropsData };\n\n return (\n <AdSlotRender\n shouldShowBanner={!!shouldShowBanner}\n sizeMapping={sizeMapping}\n sizeId={sizeId}\n parsedAdunit={parsedAdunit}\n parsedSizes={parsedSizes}\n modifiers={modifiers}\n targetingArguments={targetingArguments}\n />\n );\n};\n\nBannerRender.propTypes = {\n parent: PropTypes.object.isRequired,\n asPath: PropTypes.string.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n adunit: PropTypes.string,\n baseAdunit: PropTypes.string,\n sizeId: PropTypes.string,\n propsToDisplay: PropTypes.array,\n entity: PropTypes.string,\n targetings: PropTypes.string,\n sizes: PropTypes.string,\n renderCounter: PropTypes.number,\n modifiers: PropTypes.string,\n userPropsData: PropTypes.object\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n renderCounter: null,\n modifiers: '',\n userPropsData: {}\n};\n\nexport default withTitle(BannerRender);\n"],"mappings":";;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,QAAQ,QAAQ,gBAAgB;AAEzC,SAASC,uBAAuB,EAAEC,QAAQ,QAAQ,yBAAyB;AAC3E,SACEC,gBAAgB,EAChBC,wBAAwB,EACxBC,iBAAiB,EACjBC,gBAAgB,EAChBC,mBAAmB,QACd,WAAW;AAClB,SACEC,kBAAkB,EAClBC,yBAAyB,EACzBC,UAAU,EACVC,SAAS,QACJ,iBAAiB;AACxB,SAASC,SAAS,QAAQ,WAAW;AACrC,OAAOC,YAAY,MAAM,gBAAgB;AAEzC,MAAMC,YAAY,GAAGC,IAAA,IAgBf;EAAA,IAhBgB;MACpBC,UAAU;MACVC,MAAM;MACNC,MAAM;MACNC,KAAK;MACLC,cAAc;MACdC,MAAM;MACNC,UAAU;MACVC,MAAM;MACNC,MAAM;MACNC,MAAM;MACNC,SAAS;MACTC,aAAa;MACbC,aAAa;MACbC;IAEF,CAAC,GAAAd,IAAA;IADIe,UAAU,GAAAC,wBAAA,CAAAhB,IAAA,EAAAiB,SAAA;EAEb,MAAM;IAAEC;EAAG,CAAC,GAAGH,UAAU;EACzB,MAAM;IAAEI;EAAO,CAAC,GAAGX,MAAM;EAEzB,MAAM;IAAEY,IAAI,EAAEC,gBAAgB,GAAG,CAAC;EAAE,CAAC,GAAGpC,QAAQ,CAACyB,MAAM,EAAE;IACvDY,SAAS,EAAE;MAAEC,KAAK,EAAE;QAAEL,EAAE,EAAEA,EAAE,IAAIC;MAAO;IAAE,CAAC;IAC1CK,IAAI,EAAEN,EAAE,IAAIA,EAAE,KAAKC;EACrB,CAAC,CAAC;EAEF,MAAM;IAAEC,IAAI,EAAEK,UAAU,GAAG,CAAC;EAAE,CAAC,GAAGxC,QAAQ,CACxCC,uBAAuB,CAACS,UAAU,EAAEF,kBAAkB,CAAC,EACvD;IACE6B,SAAS,EAAE;MAAEJ,EAAE,EAAEf;IAAO,CAAC;IACzBqB,IAAI,EAAE,CAACrB;EACT,CACF,CAAC;EAED,MAAM;IAAEiB,IAAI,GAAG,CAAC;EAAE,CAAC,GAAGnC,QAAQ,CAACE,QAAQ,CAACO,yBAAyB,CAAC,EAAE;IAClE4B,SAAS,EAAE;MACTC,KAAK,EAAE;QACLG,QAAQ,EAAER,EAAE,IAAIC,MAAM;QACtBQ,WAAW,EAAE;UACXC,MAAM,EAAG,GAAEhC,SAAU;QACvB;MACF;IACF;EACF,CAAC,CAAC;EAEF,MAAMiC,gBAAgB,GAAGxC,wBAAwB,CAACsB,SAAS,EAAEU,gBAAgB,EAAEhB,cAAc,CAAC;EAC9F,MAAM;IAAEyB;EAAW,CAAC,GAAGL,UAAU;EACjC,MAAM;IAAErB,KAAK,EAAE2B;EAAY,CAAC,GAAGD,UAAU,IAAI,CAAC,CAAC;EAE/C,MAAME,WAAW,GAAGzC,gBAAgB,CAACY,MAAM,EAAE4B,WAAW,CAAC;EACzD,MAAME,WAAW,GAAG7C,gBAAgB,CAACe,MAAM,EAAE4B,WAAW,EAAE3B,KAAK,CAAC;EAEhE,MAAM;IAAE8B;EAAwB,CAAC,GAAGd,IAAI;EAExC,MAAMe,YAAY,GAAG7C,iBAAiB,CAACmB,MAAM,EAAEyB,uBAAuB,EAAEjC,UAAU,EAAEC,MAAM,CAAC;EAC3F,MAAMkC,wBAAwB,GAC5B/B,cAAc,CAACgC,MAAM,IAAIR,gBAAgB,IAAIS,MAAM,CAACC,IAAI,CAACV,gBAAgB,CAAC,CAACQ,MAAM;EACnF,MAAMG,0BAA0B,GAAGJ,wBAAwB,IAAI,CAAC/B,cAAc,CAACgC,MAAM;EACrF,MAAMI,gBAAgB,GACpBN,YAAY,IAAIF,WAAW,IAAI,CAAC,CAACA,WAAW,CAACI,MAAM,IAAIG,0BAA0B;EAEnF,MAAME,gBAAgB,GAAGlD,mBAAmB,CAACe,UAAU,EAAEK,aAAa,CAAC;EAEvE,MAAM+B,kBAAkB,GAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,KAAQf,gBAAgB,GAAKa,gBAAgB,GAAK7B,aAAa,CAAE;EAEzF,oBACE9B,KAAA,CAAA8D,aAAA,CAAC/C,YAAY;IACX2C,gBAAgB,EAAE,CAAC,CAACA,gBAAiB;IACrCT,WAAW,EAAEA,WAAY;IACzB7B,MAAM,EAAEA,MAAO;IACfgC,YAAY,EAAEA,YAAa;IAC3BF,WAAW,EAAEA,WAAY;IACzBnB,SAAS,EAAEA,SAAU;IACrB6B,kBAAkB,EAAEA;EAAmB,CACxC,CAAC;AAEN,CAAC;AAED5C,YAAY,CAAC+C,SAAS,GAAG;EACvBtC,MAAM,EAAExB,SAAS,CAAC+D,MAAM,CAACC,UAAU;EACnCvC,MAAM,EAAEzB,SAAS,CAACiE,MAAM,CAACD,UAAU;EACnCtC,MAAM,EAAE1B,SAAS,CAAC+D,MAAM,CAACC,UAAU;EACnCrC,SAAS,EAAE3B,SAAS,CAACiE,MAAM,CAACD,UAAU;EACtC9C,MAAM,EAAElB,SAAS,CAACiE,MAAM;EACxBhD,UAAU,EAAEjB,SAAS,CAACiE,MAAM;EAC5B9C,MAAM,EAAEnB,SAAS,CAACiE,MAAM;EACxB5C,cAAc,EAAErB,SAAS,CAACkE,KAAK;EAC/B5C,MAAM,EAAEtB,SAAS,CAACiE,MAAM;EACxB1C,UAAU,EAAEvB,SAAS,CAACiE,MAAM;EAC5B7C,KAAK,EAAEpB,SAAS,CAACiE,MAAM;EACvBrC,aAAa,EAAE5B,SAAS,CAACmE,MAAM;EAC/BrC,SAAS,EAAE9B,SAAS,CAACiE,MAAM;EAC3BpC,aAAa,EAAE7B,SAAS,CAAC+D;AAC3B,CAAC;AAEDhD,YAAY,CAACqD,YAAY,GAAG;EAC1BlD,MAAM,EAAE,EAAE;EACVD,UAAU,EAAE,EAAE;EACdE,MAAM,EAAE,EAAE;EACVE,cAAc,EAAE,EAAE;EAClBC,MAAM,EAAE,EAAE;EACVC,UAAU,EAAE,EAAE;EACdH,KAAK,EAAE,EAAE;EACTQ,aAAa,EAAE,IAAI;EACnBE,SAAS,EAAE,EAAE;EACbD,aAAa,EAAE,CAAC;AAClB,CAAC;AAED,eAAehB,SAAS,CAACE,YAAY,CAAC"}
|
|
@@ -56,7 +56,7 @@ const Button = props => {
|
|
|
56
56
|
const logout = () => {
|
|
57
57
|
handleLogout(client);
|
|
58
58
|
if (hasChildren(children)) return setShowChildren(true);
|
|
59
|
-
return url ?
|
|
59
|
+
return url ? window.location.href = urlToUse : router.reload();
|
|
60
60
|
};
|
|
61
61
|
const handleClick = () => {
|
|
62
62
|
if (isLogoutButton) logout();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":["React","useState","Fragment","useEffect","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","useStringTemplate","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","parent","otherProps","_objectWithoutProperties","_excluded","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","data","textToUse","afterClickTextToUse","urlToUse","asPath","checkIfButtonShouldRender","logout","reload","handleClick","buttonType","modifiers","_objectSpread","currentProps","
|
|
1
|
+
{"version":3,"file":"Button.js","names":["React","useState","Fragment","useEffect","useCookies","useRouter","classnames","BlazeButton","handleLogout","useApolloClient","PropTypes","bool","string","useStringTemplate","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","childSeoVisibility","afterClickText","parent","otherProps","_objectWithoutProperties","_excluded","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","data","textToUse","afterClickTextToUse","urlToUse","asPath","checkIfButtonShouldRender","logout","window","location","href","reload","handleClick","buttonType","modifiers","_objectSpread","currentProps","title","DynamicButton","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","contentClassName","createElement","className","_extends","onClick","propTypes","object","size","oneOfType","arrayOf","node","defaultProps"],"sources":["../../src/components/Button.js"],"sourcesContent":["import React, { useState, Fragment, useEffect } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport classnames from 'classnames';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes, { bool, string } from 'prop-types';\nimport { useStringTemplate } from '@blaze-cms/utils-handlebars';\nimport ClickWrapper from './ClickWrapper';\nimport BlazeLink from './BlazeLink';\nimport { withTitle } from '../HOC';\nimport { getClassModifiers } from '../utils';\nimport { LOGOUT } from '../constants';\nimport {\n renderChildren,\n updateChildrensParent,\n hasChildren,\n getClickWrapperOptions\n} from '../helpers';\n\nconst Button = props => {\n const {\n type,\n text,\n url,\n icon,\n name,\n style,\n children,\n clickAction,\n childSeoVisibility,\n afterClickText,\n parent,\n ...otherProps\n } = props;\n const client = useApolloClient();\n const router = useRouter();\n const isLogoutButton = clickAction === LOGOUT;\n const [cookies] = useCookies();\n const { blaze_auth: blazeCookie } = cookies;\n const [showChildren, setShowChildren] = useState(false);\n const {\n data: [textToUse, afterClickTextToUse, urlToUse]\n } = useStringTemplate(parent, [text, afterClickText, url]);\n\n useEffect(\n () => {\n setShowChildren(false);\n },\n [router.asPath]\n );\n\n const checkIfButtonShouldRender = () => {\n if (isLogoutButton) return !!blazeCookie;\n if (!text && !icon) return false;\n return !!(url || hasChildren(children));\n };\n\n const logout = () => {\n handleLogout(client);\n if (hasChildren(children)) return setShowChildren(true);\n return url ? (window.location.href = urlToUse) : router.reload();\n };\n\n const handleClick = () => {\n if (isLogoutButton) logout();\n if (!url && !isLogoutButton) setShowChildren(!showChildren);\n };\n\n if (!checkIfButtonShouldRender()) return null;\n\n const buttonType = !text && icon ? 'icon' : type;\n const modifiers = getClassModifiers(buttonType, { icon, style, ...otherProps });\n const currentProps = url ? { href: urlToUse, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, parent.itemId, parent.itemEntity);\n\n const renderedChildren = renderChildren(children, { onClose: handleClick });\n const { shouldUseClickWrapper, wrapperProps } = getClickWrapperOptions(children, props);\n const Wrapper = shouldUseClickWrapper ? ClickWrapper : Fragment;\n\n const contentClassName = classnames('button__content', {\n 'button__content--show': showChildren\n });\n\n return (\n <Wrapper {...wrapperProps}>\n {childSeoVisibility && <div className={contentClassName}>{renderedChildren}</div>}\n {!childSeoVisibility && showChildren && renderedChildren}\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {showChildren ? afterClickTextToUse : textToUse}\n </DynamicButton>\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n parent: PropTypes.object,\n clickAction: PropTypes.string,\n text: PropTypes.string,\n afterClickText: string,\n name: PropTypes.string,\n type: PropTypes.string,\n url: PropTypes.string,\n size: PropTypes.string,\n icon: PropTypes.string,\n style: PropTypes.string,\n childSeoVisibility: bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n parent: {},\n clickAction: '',\n text: '',\n afterClickText: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: [],\n childSeoVisibility: false\n};\n\nexport default withTitle(Button);\n"],"mappings":"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"}
|
|
@@ -6,16 +6,19 @@ const getSortProps = ({
|
|
|
6
6
|
defaultSortBy,
|
|
7
7
|
isTextSearchFilterApplied
|
|
8
8
|
}) => {
|
|
9
|
-
const sort = querySort || (sortProperties.length ? null : defaultSort);
|
|
10
|
-
let sortby = null;
|
|
11
|
-
if (querySortBy) sortby = [querySortBy];else if (!sortProperties.length) sortby = defaultSortBy;
|
|
12
9
|
const updatedSortProperties = [...sortProperties];
|
|
10
|
+
if (!querySort && !sortProperties.length) {
|
|
11
|
+
updatedSortProperties.unshift({
|
|
12
|
+
sort: defaultSort,
|
|
13
|
+
propsToDisplay: defaultSortBy
|
|
14
|
+
});
|
|
15
|
+
}
|
|
13
16
|
if (isTextSearchFilterApplied) updatedSortProperties.unshift({
|
|
14
17
|
isScore: true
|
|
15
18
|
});
|
|
16
|
-
if (
|
|
17
|
-
sort,
|
|
18
|
-
propsToDisplay:
|
|
19
|
+
if (querySort) updatedSortProperties.unshift({
|
|
20
|
+
sort: querySort,
|
|
21
|
+
propsToDisplay: [querySortBy]
|
|
19
22
|
});
|
|
20
23
|
const sortbyFilters = updatedSortProperties.map(({
|
|
21
24
|
propsToDisplay: filterProps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-sort-props.js","names":["getSortProps","querySort","sortProperties","defaultSort","querySortBy","defaultSortBy","isTextSearchFilterApplied","
|
|
1
|
+
{"version":3,"file":"get-sort-props.js","names":["getSortProps","querySort","sortProperties","defaultSort","querySortBy","defaultSortBy","isTextSearchFilterApplied","updatedSortProperties","length","unshift","sort","propsToDisplay","isScore","sortbyFilters","map","filterProps","filter","Boolean","flat"],"sources":["../../../../src/components/List/helpers/get-sort-props.js"],"sourcesContent":["const getSortProps = ({\n querySort,\n sortProperties,\n defaultSort,\n querySortBy,\n defaultSortBy,\n isTextSearchFilterApplied\n}) => {\n const updatedSortProperties = [...sortProperties];\n if (!querySort && !sortProperties.length) {\n updatedSortProperties.unshift({ sort: defaultSort, propsToDisplay: defaultSortBy });\n }\n if (isTextSearchFilterApplied) updatedSortProperties.unshift({ isScore: true });\n if (querySort) updatedSortProperties.unshift({ sort: querySort, propsToDisplay: [querySortBy] });\n\n const sortbyFilters = updatedSortProperties\n .map(({ propsToDisplay: filterProps }) => filterProps)\n .filter(Boolean)\n .flat();\n return { sortbyFilters, updatedSortProperties };\n};\n\nexport default getSortProps;\n"],"mappings":"AAAA,MAAMA,YAAY,GAAGA,CAAC;EACpBC,SAAS;EACTC,cAAc;EACdC,WAAW;EACXC,WAAW;EACXC,aAAa;EACbC;AACF,CAAC,KAAK;EACJ,MAAMC,qBAAqB,GAAG,CAAC,GAAGL,cAAc,CAAC;EACjD,IAAI,CAACD,SAAS,IAAI,CAACC,cAAc,CAACM,MAAM,EAAE;IACxCD,qBAAqB,CAACE,OAAO,CAAC;MAAEC,IAAI,EAAEP,WAAW;MAAEQ,cAAc,EAAEN;IAAc,CAAC,CAAC;EACrF;EACA,IAAIC,yBAAyB,EAAEC,qBAAqB,CAACE,OAAO,CAAC;IAAEG,OAAO,EAAE;EAAK,CAAC,CAAC;EAC/E,IAAIX,SAAS,EAAEM,qBAAqB,CAACE,OAAO,CAAC;IAAEC,IAAI,EAAET,SAAS;IAAEU,cAAc,EAAE,CAACP,WAAW;EAAE,CAAC,CAAC;EAEhG,MAAMS,aAAa,GAAGN,qBAAqB,CACxCO,GAAG,CAAC,CAAC;IAAEH,cAAc,EAAEI;EAAY,CAAC,KAAKA,WAAW,CAAC,CACrDC,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,CAAC;EACT,OAAO;IAAEL,aAAa;IAAEN;EAAsB,CAAC;AACjD,CAAC;AAED,eAAeP,YAAY"}
|
|
@@ -125,7 +125,7 @@ const SearchFilter = ({
|
|
|
125
125
|
className: moreFiltersDesktopTogglerClass,
|
|
126
126
|
type: "button",
|
|
127
127
|
onClick: () => setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)
|
|
128
|
-
},
|
|
128
|
+
}, moreFiltersDesktopCollapsed ? 'More filters' : 'Less filters'), /*#__PURE__*/React.createElement("div", {
|
|
129
129
|
className: moreFiltersDesktopWrapperClass
|
|
130
130
|
}, /*#__PURE__*/React.createElement("div", {
|
|
131
131
|
className: MORE_FILTERS_CLASSES.DESKTOP_CONTENT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildUrlQuery","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport { isDeviceDesktop, buildUrlQuery, getResponsiveFilterClassnames } from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = newValues => {\n const newQuery = buildUrlQuery(newValues, filters, listComponentName, query);\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n setAppliedFilters({ type: 'reset' });\n doSubmit();\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n More filters\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object\n};\n\nSearchFilter.defaultProps = {\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SearchFilter.js","names":["React","useState","useEffect","PropTypes","classnames","debounce","FiltersList","isDeviceDesktop","buildUrlQuery","getResponsiveFilterClassnames","CloseMobileForm","ResetDesktopForm","MobileFormToolbar","SEARCH","REFINE","MORE_FILTERS_CLASSES","SearchFilter","searchFilterRef","listComponentName","data","filters","hasUrl","entity","handleSearch","name","isCollapsedOnResponsive","displaySearchFilter","setDisplaySearchFilter","groupAfterDesktop","groupAfterMobile","filterValues","setAppliedFilters","query","moreFiltersMobileCollapsed","setMoreFiltersMobileCollapsed","moreFiltersDesktopCollapsed","setMoreFiltersDesktopCollapsed","doSubmit","newValues","newQuery","handleSubmit","shouldSearch","type","formClass","moreFiltersMobileWrapperClass","moreFiltersMobileTogglerClass","moreFiltersDesktopWrapperClass","moreFiltersDesktopTogglerClass","formId","handleReset","updateFilterValues","shouldSubmit","shouldGroup","createElement","Fragment","ref","className","id","onSubmit","e","preventDefault","handleClose","slice","onClick","MOBILE_CONTENT","DESKTOP_CONTENT","DESKTOP_BUTTONS","MOBILE_BUTTONS","role","propTypes","object","isRequired","array","bool","string","func","number","defaultProps"],"sources":["../../../../src/components/SearchFilter/SearchFilter/SearchFilter.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport FiltersList from './FiltersList';\nimport { isDeviceDesktop, buildUrlQuery, getResponsiveFilterClassnames } from '../helpers';\nimport CloseMobileForm from './CloseMobileForm';\nimport ResetDesktopForm from './ResetDesktopForm';\nimport MobileFormToolbar from './MobileFormToolbar';\nimport { SEARCH, REFINE, MORE_FILTERS_CLASSES } from '../constants';\n\nconst SearchFilter = ({\n searchFilterRef,\n listComponentName,\n data,\n filters,\n hasUrl,\n entity,\n handleSearch,\n name,\n isCollapsedOnResponsive,\n displaySearchFilter,\n setDisplaySearchFilter,\n groupAfterDesktop,\n groupAfterMobile,\n filterValues,\n setAppliedFilters,\n query\n}) => {\n const [moreFiltersMobileCollapsed, setMoreFiltersMobileCollapsed] = useState(true);\n const [moreFiltersDesktopCollapsed, setMoreFiltersDesktopCollapsed] = useState(true);\n\n const doSubmit = newValues => {\n const newQuery = buildUrlQuery(newValues, filters, listComponentName, query);\n handleSearch(newQuery);\n setMoreFiltersDesktopCollapsed(true);\n setMoreFiltersMobileCollapsed(true);\n };\n\n const handleSubmit = debounce(newValues => {\n doSubmit(newValues);\n }, 200);\n\n useEffect(\n () => {\n if (filterValues.shouldSearch) {\n handleSubmit(filterValues);\n setAppliedFilters({ type: 'resetSearch' });\n }\n },\n [filterValues, handleSubmit, setAppliedFilters]\n );\n\n const formClass = classnames('filter__form filter__form--initial', {\n 'filter__form--mobile': isCollapsedOnResponsive && displaySearchFilter,\n 'filter__form--collapsible': isCollapsedOnResponsive\n });\n\n const {\n moreFiltersMobileWrapperClass,\n moreFiltersMobileTogglerClass,\n moreFiltersDesktopWrapperClass,\n moreFiltersDesktopTogglerClass\n } = getResponsiveFilterClassnames(moreFiltersDesktopCollapsed, moreFiltersMobileCollapsed);\n\n const formId = `filter-${name}-form`;\n\n const handleReset = () => {\n setAppliedFilters({ type: 'reset' });\n doSubmit();\n };\n\n const updateFilterValues = (newValues, shouldSubmit) => {\n setAppliedFilters({ newValues, shouldSearch: shouldSubmit, type: 'update' });\n };\n\n const shouldGroup = !!(groupAfterDesktop || groupAfterMobile);\n\n return (\n <>\n <form\n ref={searchFilterRef}\n className={formClass}\n data-testid={formId}\n id={formId}\n onSubmit={e => {\n e.preventDefault();\n doSubmit(filterValues);\n }}>\n {displaySearchFilter && (\n <CloseMobileForm handleClose={() => setDisplaySearchFilter(false)} />\n )}\n\n <div className=\"filter filter--search-refine\">\n <ResetDesktopForm handleReset={handleReset} />\n\n <div className=\"filter__wrapper filter__wrapper--search-refine\">\n {!shouldGroup && (\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n )}\n\n {shouldGroup && (\n <>\n <FiltersList\n shouldSearch={!hasUrl}\n data={data}\n filters={filters.slice(0, groupAfterMobile)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterMobile && (\n <button\n data-testId=\"search-filter-mobile-toggler\"\n className={moreFiltersMobileTogglerClass}\n type=\"button\"\n onClick={() => setMoreFiltersMobileCollapsed(!moreFiltersMobileCollapsed)}>\n Filters\n </button>\n )}\n\n <div className={moreFiltersMobileWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.MOBILE_CONTENT}>\n <FiltersList\n shouldSearch={!hasUrl && isDeviceDesktop()}\n data={data}\n filters={filters.slice(\n groupAfterMobile,\n groupAfterDesktop ? groupAfterDesktop - 1 : 0\n )}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n\n {!!groupAfterDesktop && (\n <button\n data-testId=\"search-filter-desktop-toggler\"\n className={moreFiltersDesktopTogglerClass}\n type=\"button\"\n onClick={() =>\n setMoreFiltersDesktopCollapsed(!moreFiltersDesktopCollapsed)\n }>\n {moreFiltersDesktopCollapsed ? 'More filters' : 'Less filters'}\n </button>\n )}\n\n <div className={moreFiltersDesktopWrapperClass}>\n <div className={MORE_FILTERS_CLASSES.DESKTOP_CONTENT}>\n <FiltersList\n shouldSearch={false}\n data={data}\n filters={filters.slice(groupAfterDesktop)}\n hasUrl={hasUrl}\n entity={entity}\n filterValues={filterValues}\n updateFilterValues={updateFilterValues}\n />\n </div>\n\n <div className={MORE_FILTERS_CLASSES.DESKTOP_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </div>\n\n <div className={MORE_FILTERS_CLASSES.MOBILE_BUTTONS}>\n <ResetDesktopForm handleReset={handleReset} />\n\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n </div>\n </div>\n </>\n )}\n\n <br />\n\n {!displaySearchFilter && (\n <button className=\"button button--full-width\" type=\"submit\">\n {SEARCH}\n </button>\n )}\n </div>\n </div>\n\n {displaySearchFilter && <MobileFormToolbar formId={formId} handleReset={handleReset} />}\n </form>\n\n {isCollapsedOnResponsive &&\n !displaySearchFilter && (\n <div className=\"filter__refine filter__refine--mobile-close\" data-testid=\"refine-mobile\">\n <div role=\"button\" onClick={() => setDisplaySearchFilter(true)}>\n {REFINE}\n </div>\n </div>\n )}\n </>\n );\n};\n\nSearchFilter.propTypes = {\n data: PropTypes.object.isRequired,\n filters: PropTypes.array.isRequired,\n searchFilterRef: PropTypes.object.isRequired,\n hasUrl: PropTypes.bool.isRequired,\n entity: PropTypes.string.isRequired,\n handleSearch: PropTypes.func.isRequired,\n name: PropTypes.string.isRequired,\n displaySearchFilter: PropTypes.bool.isRequired,\n setDisplaySearchFilter: PropTypes.func.isRequired,\n isCollapsedOnResponsive: PropTypes.bool.isRequired,\n groupAfterDesktop: PropTypes.number.isRequired,\n groupAfterMobile: PropTypes.number.isRequired,\n filterValues: PropTypes.object.isRequired,\n setAppliedFilters: PropTypes.func.isRequired,\n listComponentName: PropTypes.string,\n query: PropTypes.object\n};\n\nSearchFilter.defaultProps = {\n listComponentName: '',\n query: {}\n};\n\nexport default SearchFilter;\n"],"mappings":"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"}
|
|
@@ -9,10 +9,11 @@ const getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {
|
|
|
9
9
|
sortby,
|
|
10
10
|
sortProperties = []
|
|
11
11
|
} = filterProps;
|
|
12
|
+
const [sortProperty = []] = sortProperties || [];
|
|
12
13
|
return buildSortValues([{
|
|
13
14
|
sort,
|
|
14
15
|
propsToDisplay: sortby
|
|
15
|
-
}, ...
|
|
16
|
+
}, ...[sortProperty]], relations, stringProps, useSortObject);
|
|
16
17
|
};
|
|
17
18
|
const getGenericRenderVariables = ({
|
|
18
19
|
relations,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-generic-render-variables.js","names":["DEFAULT_LIMIT","DEFAULT_OFFSET","buildSortValues","getCorrectSort","relations","filterProps","stringProps","useSortObject","sort","sortby","sortProperties","propsToDisplay","getGenericRenderVariables","rawQuery","useRandomSort","rawQueryCopy","_objectSpread","limit","offset","limitToUse","Number","offsetToUse","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode"],"sources":["../../src/helpers/get-generic-render-variables.js"],"sourcesContent":["import { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\nimport buildSortValues from './build-sort-values';\n\nconst getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {\n const { sort, sortby, sortProperties = [] } = filterProps;\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...
|
|
1
|
+
{"version":3,"file":"get-generic-render-variables.js","names":["DEFAULT_LIMIT","DEFAULT_OFFSET","buildSortValues","getCorrectSort","relations","filterProps","stringProps","useSortObject","sort","sortby","sortProperties","sortProperty","propsToDisplay","getGenericRenderVariables","rawQuery","useRandomSort","rawQueryCopy","_objectSpread","limit","offset","limitToUse","Number","offsetToUse","rawQueryStringified","JSON","stringify","query","function_score","random_score","boost_mode"],"sources":["../../src/helpers/get-generic-render-variables.js"],"sourcesContent":["import { DEFAULT_LIMIT, DEFAULT_OFFSET } from '../constants';\nimport buildSortValues from './build-sort-values';\n\nconst getCorrectSort = (relations, filterProps, stringProps, useSortObject) => {\n const { sort, sortby, sortProperties = [] } = filterProps;\n const [sortProperty = []] = sortProperties || [];\n\n return buildSortValues(\n [{ sort, propsToDisplay: sortby }, ...[sortProperty]],\n relations,\n stringProps,\n useSortObject\n );\n};\n\nconst getGenericRenderVariables = ({\n relations,\n filterProps = {},\n stringProps = [],\n rawQuery = {},\n useRandomSort = false\n}) => {\n const rawQueryCopy = { ...rawQuery };\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: rawQueryCopy && rawQueryCopy.query ? rawQueryCopy.query : rawQueryCopy,\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, !!rawQueryCopy.sort);\n\n if (rawQueryCopy.sort && sort) {\n rawQueryCopy.sort = [...rawQueryCopy.sort, sort];\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n }\n\n return {\n limit: limitToUse,\n offset: offsetToUse,\n ...sort,\n rawQueryStringified: JSON.stringify(rawQueryCopy)\n };\n};\n\nexport default getGenericRenderVariables;\n"],"mappings":";;;AAAA,SAASA,aAAa,EAAEC,cAAc,QAAQ,cAAc;AAC5D,OAAOC,eAAe,MAAM,qBAAqB;AAEjD,MAAMC,cAAc,GAAGA,CAACC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAEC,aAAa,KAAK;EAC7E,MAAM;IAAEC,IAAI;IAAEC,MAAM;IAAEC,cAAc,GAAG;EAAG,CAAC,GAAGL,WAAW;EACzD,MAAM,CAACM,YAAY,GAAG,EAAE,CAAC,GAAGD,cAAc,IAAI,EAAE;EAEhD,OAAOR,eAAe,CACpB,CAAC;IAAEM,IAAI;IAAEI,cAAc,EAAEH;EAAO,CAAC,EAAE,GAAG,CAACE,YAAY,CAAC,CAAC,EACrDP,SAAS,EACTE,WAAW,EACXC,aACF,CAAC;AACH,CAAC;AAED,MAAMM,yBAAyB,GAAGA,CAAC;EACjCT,SAAS;EACTC,WAAW,GAAG,CAAC,CAAC;EAChBC,WAAW,GAAG,EAAE;EAChBQ,QAAQ,GAAG,CAAC,CAAC;EACbC,aAAa,GAAG;AAClB,CAAC,KAAK;EACJ,MAAMC,YAAY,GAAAC,aAAA,KAAQH,QAAQ,CAAE;EACpC,MAAM;IAAEI,KAAK,GAAGlB,aAAa;IAAEmB;EAAO,CAAC,GAAGd,WAAW;EACrD,MAAMe,UAAU,GAAGC,MAAM,CAACH,KAAK,IAAIlB,aAAa,CAAC;EACjD,MAAMsB,WAAW,GAAGD,MAAM,CAACF,MAAM,IAAIlB,cAAc,CAAC;EAEpD,IAAIc,aAAa,EAAE;IACjB,MAAMQ,mBAAmB,GAAGC,IAAI,CAACC,SAAS,CAAC;MACzCC,KAAK,EAAE;QACLC,cAAc,EAAE;UACdD,KAAK,EAAEV,YAAY,IAAIA,YAAY,CAACU,KAAK,GAAGV,YAAY,CAACU,KAAK,GAAGV,YAAY;UAC7EY,YAAY,EAAE,CAAC,CAAC;UAChBC,UAAU,EAAE;QACd;MACF;IACF,CAAC,CAAC;IAEF,OAAO;MACLX,KAAK,EAAEE,UAAU;MACjBD,MAAM,EAAEG,WAAW;MACnBC;IACF,CAAC;EACH;EAEA,MAAMf,IAAI,GAAGL,cAAc,CAACC,SAAS,EAAEC,WAAW,EAAEC,WAAW,EAAE,CAAC,CAACU,YAAY,CAACR,IAAI,CAAC;EAErF,IAAIQ,YAAY,CAACR,IAAI,IAAIA,IAAI,EAAE;IAC7BQ,YAAY,CAACR,IAAI,GAAG,CAAC,GAAGQ,YAAY,CAACR,IAAI,EAAEA,IAAI,CAAC;IAEhD,OAAO;MACLU,KAAK,EAAEE,UAAU;MACjBD,MAAM,EAAEG,WAAW;MACnBC,mBAAmB,EAAEC,IAAI,CAACC,SAAS,CAACT,YAAY;IAClD,CAAC;EACH;EAEA,OAAAC,aAAA,CAAAA,aAAA;IACEC,KAAK,EAAEE,UAAU;IACjBD,MAAM,EAAEG;EAAW,GAChBd,IAAI;IACPe,mBAAmB,EAAEC,IAAI,CAACC,SAAS,CAACT,YAAY;EAAC;AAErD,CAAC;AAED,eAAeH,yBAAyB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/react-page-builder",
|
|
3
|
-
"version": "0.133.0-admin-updates.
|
|
3
|
+
"version": "0.133.0-admin-updates.6",
|
|
4
4
|
"description": "Blaze react page builder",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
@@ -89,5 +89,5 @@
|
|
|
89
89
|
"lib/*",
|
|
90
90
|
"lib-es/*"
|
|
91
91
|
],
|
|
92
|
-
"gitHead": "
|
|
92
|
+
"gitHead": "686c556bde89083f3cb2f23c101c8d87951c5221"
|
|
93
93
|
}
|
|
@@ -2,6 +2,7 @@ import React, { useState } from 'react';
|
|
|
2
2
|
import { AdSlot } from 'react-dfp';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { BANNER_LOADING, BANNER_EMPTY, BANNER_LOADED } from '../../constants';
|
|
5
|
+
import Wrapper from '../Wrapper';
|
|
5
6
|
|
|
6
7
|
const AdSlotRender = ({
|
|
7
8
|
shouldShowBanner,
|
|
@@ -9,6 +10,7 @@ const AdSlotRender = ({
|
|
|
9
10
|
sizeId,
|
|
10
11
|
parsedAdunit,
|
|
11
12
|
parsedSizes,
|
|
13
|
+
modifiers,
|
|
12
14
|
targetingArguments
|
|
13
15
|
}) => {
|
|
14
16
|
const [{ loadingStatus = BANNER_LOADING, minHeight }, setLoadingStatus] = useState({});
|
|
@@ -24,11 +26,11 @@ const AdSlotRender = ({
|
|
|
24
26
|
})
|
|
25
27
|
.sort();
|
|
26
28
|
const className = `ad-slot ad-slot-${loadingStatus} ${bannerClass}`;
|
|
27
|
-
|
|
29
|
+
const newModifers = `${modifiers} banner-${loadingStatus}`;
|
|
28
30
|
return (
|
|
29
|
-
|
|
31
|
+
<Wrapper className="banner" modifiers={newModifers}>
|
|
30
32
|
{styles && <style>{styles.join('\n')}</style>}
|
|
31
|
-
<div className={className} style={{ minHeight }}>
|
|
33
|
+
<div className={className} style={{ minHeight }} data-testid="ad-slot">
|
|
32
34
|
{shouldShowBanner && (
|
|
33
35
|
<AdSlot
|
|
34
36
|
adUnit={parsedAdunit}
|
|
@@ -46,7 +48,7 @@ const AdSlotRender = ({
|
|
|
46
48
|
/>
|
|
47
49
|
)}
|
|
48
50
|
</div>
|
|
49
|
-
|
|
51
|
+
</Wrapper>
|
|
50
52
|
);
|
|
51
53
|
};
|
|
52
54
|
|
|
@@ -56,11 +58,13 @@ AdSlotRender.propTypes = {
|
|
|
56
58
|
sizeId: PropTypes.string.isRequired,
|
|
57
59
|
parsedAdunit: PropTypes.string.isRequired,
|
|
58
60
|
parsedSizes: PropTypes.array,
|
|
61
|
+
modifiers: PropTypes.string,
|
|
59
62
|
targetingArguments: PropTypes.object.isRequired
|
|
60
63
|
};
|
|
61
64
|
|
|
62
65
|
AdSlotRender.defaultProps = {
|
|
63
|
-
parsedSizes: null
|
|
66
|
+
parsedSizes: null,
|
|
67
|
+
modifiers: ''
|
|
64
68
|
};
|
|
65
69
|
|
|
66
70
|
export default AdSlotRender;
|