@blaze-cms/react-page-builder 0.118.0-alpha.3 → 0.119.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +41 -0
- package/README.md +22 -0
- package/lib/application/query/index.js +12 -12
- package/lib/application/query/index.js.map +1 -1
- package/lib/components/Banner/AdSlotRender.js +104 -0
- package/lib/components/Banner/AdSlotRender.js.map +1 -0
- package/lib/components/Banner/Banner.js +2 -2
- package/lib/components/Banner/Banner.js.map +1 -1
- package/lib/components/Banner/BannerRender.js +23 -33
- package/lib/components/Banner/BannerRender.js.map +1 -1
- package/lib/components/Button.js +2 -2
- package/lib/components/Button.js.map +1 -1
- package/lib/components/Card/CardContainer.js +6 -2
- package/lib/components/Card/CardContainer.js.map +1 -1
- package/lib/components/Card/CardFactory.js +2 -2
- package/lib/components/Card/CardFactory.js.map +1 -1
- package/lib/components/Card/CardRender.js +3 -3
- package/lib/components/Card/CardRender.js.map +1 -1
- package/lib/components/Card/helpers/filter-query-setup.js +7 -7
- package/lib/components/Card/helpers/filter-query-setup.js.map +1 -1
- package/lib/components/CarouselWrapper.js +54 -14
- package/lib/components/CarouselWrapper.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryFactory.js +2 -2
- package/lib/components/DataSummary/DataSummaryFactory.js.map +1 -1
- package/lib/components/DataSummary/DataSummaryRender.js +2 -2
- package/lib/components/DataSummary/DataSummaryRender.js.map +1 -1
- package/lib/components/EmailConfirm/EmailConfirm.js +2 -2
- package/lib/components/EmailConfirm/EmailConfirm.js.map +1 -1
- package/lib/components/EmailConfirm/mutation.js +2 -2
- package/lib/components/EmailConfirm/mutation.js.map +1 -1
- package/lib/components/Image/ImageFactory.js +9 -5
- package/lib/components/Image/ImageFactory.js.map +1 -1
- package/lib/components/List/ListBuilder.js +21 -21
- package/lib/components/List/ListBuilder.js.map +1 -1
- package/lib/components/List/ListFactory.js +3 -3
- package/lib/components/List/ListFactory.js.map +1 -1
- package/lib/components/List/ListRender.js +2 -2
- package/lib/components/List/ListRender.js.map +1 -1
- package/lib/components/Login/LoggedInMessage.js +1 -1
- package/lib/components/Login/LoggedInMessage.js.map +1 -1
- package/lib/components/Login/Login.js +2 -2
- package/lib/components/Login/Login.js.map +1 -1
- package/lib/components/PasswordReset/PasswordReset.js +2 -2
- package/lib/components/PasswordReset/PasswordReset.js.map +1 -1
- package/lib/components/PasswordResetRequest/PasswordResetRequest.js +2 -2
- package/lib/components/PasswordResetRequest/PasswordResetRequest.js.map +1 -1
- package/lib/components/SearchFilter/SearchFilterContainer.js +2 -2
- package/lib/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib/constants/index.js +8 -2
- package/lib/constants/index.js.map +1 -1
- package/lib/helpers/build-props-query.js +2 -2
- package/lib/helpers/build-props-query.js.map +1 -1
- package/lib/hooks/use-get-entity-schema.js +3 -3
- package/lib/hooks/use-get-entity-schema.js.map +1 -1
- package/lib/hooks/use-get-entity-schemas-as-obj.js +2 -2
- package/lib/hooks/use-get-entity-schemas-as-obj.js.map +1 -1
- package/lib/hooks/use-get-image-id-from-relation.js +2 -2
- package/lib/hooks/use-get-image-id-from-relation.js.map +1 -1
- package/lib/hooks/use-get-images.js +2 -2
- package/lib/hooks/use-get-images.js.map +1 -1
- package/lib/hooks/use-get-single-entity-schema.js +2 -2
- package/lib/hooks/use-get-single-entity-schema.js.map +1 -1
- package/lib-es/application/query/index.js +1 -5
- package/lib-es/application/query/index.js.map +1 -1
- package/lib-es/components/Banner/AdSlotRender.js +54 -0
- package/lib-es/components/Banner/AdSlotRender.js.map +1 -0
- package/lib-es/components/Banner/Banner.js +1 -1
- package/lib-es/components/Banner/Banner.js.map +1 -1
- package/lib-es/components/Banner/BannerRender.js +21 -29
- 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/Card/CardContainer.js +7 -3
- package/lib-es/components/Card/CardContainer.js.map +1 -1
- package/lib-es/components/Card/CardFactory.js +1 -1
- package/lib-es/components/Card/CardFactory.js.map +1 -1
- package/lib-es/components/Card/CardRender.js +1 -1
- package/lib-es/components/Card/CardRender.js.map +1 -1
- package/lib-es/components/Card/helpers/filter-query-setup.js +1 -1
- package/lib-es/components/Card/helpers/filter-query-setup.js.map +1 -1
- package/lib-es/components/CarouselWrapper.js +50 -14
- package/lib-es/components/CarouselWrapper.js.map +1 -1
- package/lib-es/components/DataSummary/DataSummaryFactory.js +1 -1
- package/lib-es/components/DataSummary/DataSummaryFactory.js.map +1 -1
- package/lib-es/components/DataSummary/DataSummaryRender.js +1 -1
- package/lib-es/components/DataSummary/DataSummaryRender.js.map +1 -1
- package/lib-es/components/EmailConfirm/EmailConfirm.js +1 -1
- package/lib-es/components/EmailConfirm/EmailConfirm.js.map +1 -1
- package/lib-es/components/EmailConfirm/mutation.js +1 -1
- package/lib-es/components/EmailConfirm/mutation.js.map +1 -1
- package/lib-es/components/Image/ImageFactory.js +8 -4
- package/lib-es/components/Image/ImageFactory.js.map +1 -1
- package/lib-es/components/List/ListBuilder.js +2 -2
- package/lib-es/components/List/ListBuilder.js.map +1 -1
- package/lib-es/components/List/ListFactory.js +1 -1
- package/lib-es/components/List/ListFactory.js.map +1 -1
- package/lib-es/components/List/ListRender.js +1 -1
- package/lib-es/components/List/ListRender.js.map +1 -1
- package/lib-es/components/Login/LoggedInMessage.js +1 -1
- package/lib-es/components/Login/LoggedInMessage.js.map +1 -1
- package/lib-es/components/Login/Login.js +1 -1
- package/lib-es/components/Login/Login.js.map +1 -1
- package/lib-es/components/PasswordReset/PasswordReset.js +1 -1
- package/lib-es/components/PasswordReset/PasswordReset.js.map +1 -1
- package/lib-es/components/PasswordResetRequest/PasswordResetRequest.js +1 -1
- package/lib-es/components/PasswordResetRequest/PasswordResetRequest.js.map +1 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js +1 -1
- package/lib-es/components/SearchFilter/SearchFilterContainer.js.map +1 -1
- package/lib-es/constants/index.js +4 -1
- package/lib-es/constants/index.js.map +1 -1
- package/lib-es/helpers/build-props-query.js +2 -2
- package/lib-es/helpers/build-props-query.js.map +1 -1
- package/lib-es/hooks/use-get-entity-schema.js +1 -1
- package/lib-es/hooks/use-get-entity-schema.js.map +1 -1
- package/lib-es/hooks/use-get-entity-schemas-as-obj.js +1 -1
- package/lib-es/hooks/use-get-entity-schemas-as-obj.js.map +1 -1
- package/lib-es/hooks/use-get-image-id-from-relation.js +1 -1
- package/lib-es/hooks/use-get-image-id-from-relation.js.map +1 -1
- package/lib-es/hooks/use-get-images.js +1 -1
- package/lib-es/hooks/use-get-images.js.map +1 -1
- package/lib-es/hooks/use-get-single-entity-schema.js +1 -1
- package/lib-es/hooks/use-get-single-entity-schema.js.map +1 -1
- package/package.json +9 -13
- package/src/application/query/index.js +1 -5
- package/src/components/Banner/AdSlotRender.js +62 -0
- package/src/components/Banner/Banner.js +1 -1
- package/src/components/Banner/BannerRender.js +22 -27
- package/src/components/Button.js +1 -1
- package/src/components/Card/CardContainer.js +5 -1
- package/src/components/Card/CardFactory.js +1 -1
- package/src/components/Card/CardRender.js +1 -1
- package/src/components/Card/helpers/filter-query-setup.js +1 -1
- package/src/components/CarouselWrapper.js +64 -19
- package/src/components/DataSummary/DataSummaryFactory.js +1 -1
- package/src/components/DataSummary/DataSummaryRender.js +1 -1
- package/src/components/EmailConfirm/EmailConfirm.js +1 -1
- package/src/components/EmailConfirm/mutation.js +1 -1
- package/src/components/Image/ImageFactory.js +10 -7
- package/src/components/List/ListBuilder.js +2 -2
- package/src/components/List/ListFactory.js +1 -1
- package/src/components/List/ListRender.js +1 -1
- package/src/components/Login/LoggedInMessage.js +1 -1
- package/src/components/Login/Login.js +1 -1
- package/src/components/PasswordReset/PasswordReset.js +1 -1
- package/src/components/PasswordResetRequest/PasswordResetRequest.js +1 -1
- package/src/components/SearchFilter/SearchFilterContainer.js +1 -1
- package/src/constants/index.js +6 -0
- package/src/helpers/build-props-query.js +2 -2
- package/src/hooks/use-get-entity-schema.js +1 -1
- package/src/hooks/use-get-entity-schemas-as-obj.js +1 -1
- package/src/hooks/use-get-image-id-from-relation.js +1 -1
- package/src/hooks/use-get-images.js +1 -1
- package/src/hooks/use-get-single-entity-schema.js +1 -1
- package/tests/unit/src/components/Banner/AdSlotRender.test.js +81 -0
- package/tests/unit/src/components/Banner/Banner.test.js +2 -1
- package/tests/unit/src/components/Banner/BannerRender.test.js +119 -0
- package/tests/unit/src/components/Banner/__snapshots__/AdSlotRender.test.js.snap +54 -0
- package/tests/unit/src/components/Banner/__snapshots__/BannerRender.test.js.snap +10 -0
- package/tests/unit/src/components/Button.test.js +2 -1
- package/tests/unit/src/components/Card/CardRender.test.js +1 -1
- package/tests/unit/src/components/Card/__snapshots__/CardContainer.test.js.snap +4 -4
- package/tests/unit/src/components/Carousel/Carousel.test.js +1 -1
- package/tests/unit/src/components/DataSummary/DataSummaryFactory.test.js +3 -2
- package/tests/unit/src/components/EmailConfirm/EmailConfirm.test.js +2 -1
- package/tests/unit/src/components/Image/GlobalLightbox/GlobalLightbox.test.js +10 -6
- package/tests/unit/src/components/Image/ImageFactory.test.js +11 -19
- package/tests/unit/src/components/Image/__snapshots__/ImageFactory.test.js.snap +34 -1
- package/tests/unit/src/components/Image/mocks.js +80 -24
- package/tests/unit/src/components/List/ListRender.test.js +2 -1
- package/tests/unit/src/components/Login/Login.test.js +2 -1
- package/tests/unit/src/components/PasswordReset/PasswordReset.test.js +2 -2
- package/tests/unit/src/components/PasswordResetRequest/PasswordResetRequest.test.js +2 -2
- package/tests/unit/src/components/SearchFilter/SearchFilterContainer.test.js +2 -1
- package/tests/unit/src/components/Video/providers/JWPlayer/JWPlayerProvider.test.js +1 -1
- package/tests/unit/src/components/__snapshots__/CarouselWrapper.test.js.snap +12 -12
- package/tests/unit/src/helpers/build-props-query.test.js +6 -6
- package/tests/unit/src/hooks/use-get-entity-schema-as-obj.test.js +2 -2
- package/tests/unit/src/hooks/use-get-image-id-from-relation.test.js +1 -1
- package/tests/unit/src/hooks/use-get-images.test.js +4 -14
- package/tests/unit/src/hooks/use-get-single-entity-schema.test.js +2 -4
|
@@ -6,14 +6,14 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
6
6
|
|
|
7
7
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
8
8
|
|
|
9
|
-
import { AdSlot } from 'react-dfp';
|
|
10
|
-
import PropTypes from 'prop-types';
|
|
11
9
|
import React from 'react';
|
|
12
|
-
import
|
|
10
|
+
import PropTypes from 'prop-types';
|
|
11
|
+
import { useQuery } from '@apollo/client';
|
|
13
12
|
import { generateSingleItemQuery, getCount } from '../../application/query';
|
|
14
|
-
import { buildBannerSizes, buildContextualTargeting, buildParsedAdunit, buildSizeMapping,
|
|
13
|
+
import { buildBannerSizes, buildContextualTargeting, buildParsedAdunit, buildSizeMapping, setCustomTargetings } from './helpers';
|
|
15
14
|
import { BANNER_QUERY_PROPS, COUNT_CONTENT_HIERARCHIES, GET_BANNER, PUBLISHED } from '../../constants';
|
|
16
15
|
import { withTitle } from '../../HOC';
|
|
16
|
+
import AdSlotRender from './AdSlotRender';
|
|
17
17
|
|
|
18
18
|
const BannerRender = _ref => {
|
|
19
19
|
let {
|
|
@@ -48,7 +48,6 @@ const BannerRender = _ref => {
|
|
|
48
48
|
},
|
|
49
49
|
skip: id && id !== itemId
|
|
50
50
|
});
|
|
51
|
-
const parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);
|
|
52
51
|
const {
|
|
53
52
|
data: bannerData = {}
|
|
54
53
|
} = useQuery(generateSingleItemQuery(GET_BANNER, BANNER_QUERY_PROPS), {
|
|
@@ -57,16 +56,6 @@ const BannerRender = _ref => {
|
|
|
57
56
|
},
|
|
58
57
|
skip: !sizeId
|
|
59
58
|
});
|
|
60
|
-
const {
|
|
61
|
-
entityData
|
|
62
|
-
} = bannerData;
|
|
63
|
-
const {
|
|
64
|
-
sizes: bannerSizes
|
|
65
|
-
} = entityData || {};
|
|
66
|
-
const sizeMapping = buildSizeMapping(sizeId, bannerSizes);
|
|
67
|
-
const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);
|
|
68
|
-
const maxBannerHeight = getMaxBannerHeight(bannerSizes);
|
|
69
|
-
const minBannerHeight = getMinBannerHeight(bannerSizes);
|
|
70
59
|
const {
|
|
71
60
|
data = {}
|
|
72
61
|
} = useQuery(getCount(COUNT_CONTENT_HIERARCHIES), {
|
|
@@ -79,6 +68,15 @@ const BannerRender = _ref => {
|
|
|
79
68
|
}
|
|
80
69
|
}
|
|
81
70
|
});
|
|
71
|
+
const parsedTargetings = buildContextualTargeting(actionKey, entityRecordData, propsToDisplay);
|
|
72
|
+
const {
|
|
73
|
+
entityData
|
|
74
|
+
} = bannerData;
|
|
75
|
+
const {
|
|
76
|
+
sizes: bannerSizes
|
|
77
|
+
} = entityData || {};
|
|
78
|
+
const sizeMapping = buildSizeMapping(sizeId, bannerSizes);
|
|
79
|
+
const parsedSizes = buildBannerSizes(sizeId, bannerSizes, sizes);
|
|
82
80
|
const {
|
|
83
81
|
countContentHierarchies
|
|
84
82
|
} = data;
|
|
@@ -86,24 +84,18 @@ const BannerRender = _ref => {
|
|
|
86
84
|
const isContextualTargetingSet = propsToDisplay.length && parsedTargetings && Object.keys(parsedTargetings).length;
|
|
87
85
|
const isContextualTargetingReady = isContextualTargetingSet || !propsToDisplay.length;
|
|
88
86
|
const shouldShowBanner = parsedAdunit && parsedSizes && !!parsedSizes.length && isContextualTargetingReady;
|
|
89
|
-
if (!shouldShowBanner) return null;
|
|
90
87
|
const customTargetings = setCustomTargetings(targetings, cardBannerIndex);
|
|
91
|
-
const style = {
|
|
92
|
-
maxHeight: maxBannerHeight,
|
|
93
|
-
minHeight: minBannerHeight
|
|
94
|
-
};
|
|
95
88
|
|
|
96
89
|
const targetingArguments = _objectSpread(_objectSpread({}, parsedTargetings), customTargetings);
|
|
97
90
|
|
|
98
|
-
return /*#__PURE__*/React.createElement(
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
targetingArguments: targetingArguments
|
|
105
|
-
|
|
106
|
-
}));
|
|
91
|
+
return /*#__PURE__*/React.createElement(AdSlotRender, {
|
|
92
|
+
shouldShowBanner: !!shouldShowBanner,
|
|
93
|
+
sizeMapping: sizeMapping,
|
|
94
|
+
sizeId: sizeId,
|
|
95
|
+
parsedAdunit: parsedAdunit,
|
|
96
|
+
parsedSizes: parsedSizes,
|
|
97
|
+
targetingArguments: targetingArguments
|
|
98
|
+
});
|
|
107
99
|
};
|
|
108
100
|
|
|
109
101
|
BannerRender.propTypes = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Banner/BannerRender.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Banner/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","baseAdunit","adunit","sizeId","sizes","propsToDisplay","entity","targetings","parent","asPath","action","actionKey","cardBannerIndex","otherProps","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","propTypes","object","isRequired","string","array","number","defaultProps"],"mappings":"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","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 cardBannerIndex,\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\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, cardBannerIndex);\n\n const targetingArguments = { ...parsedTargetings, ...customTargetings };\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 cardBannerIndex: PropTypes.number\n};\n\nBannerRender.defaultProps = {\n adunit: '',\n baseAdunit: '',\n sizeId: '',\n propsToDisplay: [],\n entity: '',\n targetings: '',\n sizes: '',\n cardBannerIndex: null\n};\n\nexport default withTitle(BannerRender);\n"],"file":"BannerRender.js"}
|
|
@@ -12,7 +12,7 @@ import { useCookies } from 'react-cookie';
|
|
|
12
12
|
import { useRouter } from 'next/router';
|
|
13
13
|
import BlazeButton from '@blaze-react/button';
|
|
14
14
|
import { handleLogout } from '@blaze-cms/core-auth-ui';
|
|
15
|
-
import { useApolloClient } from '
|
|
15
|
+
import { useApolloClient } from '@apollo/client';
|
|
16
16
|
import PropTypes from 'prop-types';
|
|
17
17
|
import ClickWrapper from './ClickWrapper';
|
|
18
18
|
import BlazeLink from './BlazeLink';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/Button.js"],"names":["React","useState","Fragment","useCookies","useRouter","BlazeButton","handleLogout","useApolloClient","PropTypes","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","otherProps","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","checkIfButtonShouldRender","logout","reload","handleClick","buttonType","modifiers","currentProps","href","title","DynamicButton","parent","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","propTypes","string","size","oneOfType","arrayOf","node","defaultProps"],"mappings":";;;;;;;;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,QAA1B,QAA0C,OAA1C;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,OAAOC,WAAP,MAAwB,qBAAxB;AACA,SAASC,YAAT,QAA6B,yBAA7B;AACA,SAASC,eAAT,QAAgC,
|
|
1
|
+
{"version":3,"sources":["../../src/components/Button.js"],"names":["React","useState","Fragment","useCookies","useRouter","BlazeButton","handleLogout","useApolloClient","PropTypes","ClickWrapper","BlazeLink","withTitle","getClassModifiers","LOGOUT","renderChildren","updateChildrensParent","hasChildren","getClickWrapperOptions","Button","props","type","text","url","icon","name","style","children","clickAction","otherProps","client","router","isLogoutButton","cookies","blaze_auth","blazeCookie","showChildren","setShowChildren","checkIfButtonShouldRender","logout","reload","handleClick","buttonType","modifiers","currentProps","href","title","DynamicButton","parent","itemId","itemEntity","renderedChildren","onClose","shouldUseClickWrapper","wrapperProps","Wrapper","propTypes","string","size","oneOfType","arrayOf","node","defaultProps"],"mappings":"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","sourcesContent":["import React, { useState, Fragment } from 'react';\nimport { useCookies } from 'react-cookie';\nimport { useRouter } from 'next/router';\nimport BlazeButton from '@blaze-react/button';\nimport { handleLogout } from '@blaze-cms/core-auth-ui';\nimport { useApolloClient } from '@apollo/client';\nimport PropTypes from 'prop-types';\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 { type, text, url, icon, name, style, children, clickAction, ...otherProps } = 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\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 url ? router.reload(url) : 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: url, title: name } : { name };\n const DynamicButton = url && !isLogoutButton ? BlazeLink : BlazeButton;\n updateChildrensParent(children, otherProps.parent.itemId, otherProps.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 return (\n <Wrapper {...wrapperProps}>\n <DynamicButton className={modifiers} onClick={handleClick} {...currentProps}>\n {icon && <i className={icon} />}\n {text}\n </DynamicButton>\n {showChildren && renderedChildren}\n </Wrapper>\n );\n};\n\nButton.propTypes = {\n clickAction: PropTypes.string,\n text: PropTypes.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 children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])\n};\n\nButton.defaultProps = {\n clickAction: '',\n text: '',\n name: '',\n type: '',\n url: null,\n size: '',\n icon: '',\n style: '',\n children: []\n};\n\nexport default withTitle(Button);\n"],"file":"Button.js"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
const _excluded = ["cardData", "gridModifier", "style", "displayCategory", "displayThumbnail", "displayTitle", "modifier", "entity", "propsToDisplay", "gtmChildren", "cardChildren", "name", "designConfig", "itemsPerRow", "enableCarousel", "bannerModifier", "priorityLimit"],
|
|
3
|
+
const _excluded = ["cardData", "gridModifier", "style", "displayCategory", "displayThumbnail", "displayTitle", "modifier", "entity", "propsToDisplay", "gtmChildren", "cardChildren", "name", "designConfig", "itemsPerRow", "enableCarousel", "bannerModifier", "priorityLimit", "enableAutoScroll", "autoScrollTimer"],
|
|
4
4
|
_excluded2 = ["baseAdunit", "id"];
|
|
5
5
|
import React, { useContext } from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
@@ -32,7 +32,9 @@ const CardContainer = _ref => {
|
|
|
32
32
|
itemsPerRow,
|
|
33
33
|
enableCarousel,
|
|
34
34
|
bannerModifier,
|
|
35
|
-
priorityLimit
|
|
35
|
+
priorityLimit,
|
|
36
|
+
enableAutoScroll,
|
|
37
|
+
autoScrollTimer
|
|
36
38
|
} = _ref,
|
|
37
39
|
cardProps = _objectWithoutProperties(_ref, _excluded);
|
|
38
40
|
|
|
@@ -48,7 +50,9 @@ const CardContainer = _ref => {
|
|
|
48
50
|
className: dynamicWrapperSizes,
|
|
49
51
|
modifiers: gridModifier,
|
|
50
52
|
itemsPerRow: itemsPerRow,
|
|
51
|
-
bannerModifier: bannerModifier
|
|
53
|
+
bannerModifier: bannerModifier,
|
|
54
|
+
enableAutoScroll: enableAutoScroll,
|
|
55
|
+
autoScrollTimer: autoScrollTimer
|
|
52
56
|
}, entities.map((_ref2, index) => {
|
|
53
57
|
let {
|
|
54
58
|
baseAdunit,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Card/CardContainer.js"],"names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","cardProps","entities","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,WAAT,QAA4B,8BAA5B;AACA,SAASC,SAAT,QAA0B,WAA1B;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,OAAP,MAAoB,YAApB;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,SAASC,qBAAT,QAAsC,WAAtC;AACA,SAASC,qBAAT,EAAgCC,mBAAhC,QAA2D,eAA3D;AACA,SAASC,0BAAT,QAA2C,aAA3C;;AAEA,MAAMC,aAAa,GAAG,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Card/CardContainer.js"],"names":["React","useContext","PropTypes","MainContext","withTitle","Banner","Wrapper","CarouselWrapper","Card","getDynamicGridClasses","getEntitiesWithBanner","parsePropsToDisplay","getPropsToDisplayModifiers","CardContainer","cardData","gridModifier","style","displayCategory","displayThumbnail","displayTitle","modifier","entity","propsToDisplay","gtmChildren","cardChildren","name","designConfig","itemsPerRow","enableCarousel","bannerModifier","priorityLimit","enableAutoScroll","autoScrollTimer","cardProps","entities","itemId","propsToDisplayModifiers","dynamicWrapperSizes","cardBannerIndex","CardWrapper","map","index","baseAdunit","id","entityProps","extraProps","dynamicKey","join","priority","propTypes","array","isRequired","string","oneOfType","arrayOf","node","bool","object","number","defaultProps"],"mappings":";;;;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,WAAT,QAA4B,8BAA5B;AACA,SAASC,SAAT,QAA0B,WAA1B;AACA,OAAOC,MAAP,MAAmB,WAAnB;AACA,OAAOC,OAAP,MAAoB,YAApB;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,SAASC,qBAAT,QAAsC,WAAtC;AACA,SAASC,qBAAT,EAAgCC,mBAAhC,QAA2D,eAA3D;AACA,SAASC,0BAAT,QAA2C,aAA3C;;AAEA,MAAMC,aAAa,GAAG,QAqBhB;AAAA,MArBiB;AACrBC,IAAAA,QADqB;AAErBC,IAAAA,YAFqB;AAGrBC,IAAAA,KAHqB;AAIrBC,IAAAA,eAJqB;AAKrBC,IAAAA,gBALqB;AAMrBC,IAAAA,YANqB;AAOrBC,IAAAA,QAPqB;AAQrBC,IAAAA,MARqB;AASrBC,IAAAA,cATqB;AAUrBC,IAAAA,WAVqB;AAWrBC,IAAAA,YAXqB;AAYrBC,IAAAA,IAZqB;AAarBC,IAAAA,YAbqB;AAcrBC,IAAAA,WAdqB;AAerBC,IAAAA,cAfqB;AAgBrBC,IAAAA,cAhBqB;AAiBrBC,IAAAA,aAjBqB;AAkBrBC,IAAAA,gBAlBqB;AAmBrBC,IAAAA;AAnBqB,GAqBjB;AAAA,MADDC,SACC;;AACJ,QAAMC,QAAQ,GAAGxB,qBAAqB,CAACI,QAAD,EAAWmB,SAAX,CAAtC;AACA,QAAM;AAAEE,IAAAA;AAAF,MAAalC,UAAU,CAACE,WAAD,CAA7B;AACA,QAAMiC,uBAAuB,GAAGxB,0BAA0B,CAACU,cAAD,CAA1D;AACA,QAAMe,mBAAmB,GAAGT,cAAc,GACtC,EADsC,GAEtCnB,qBAAqB,CAAC,MAAD,EAASkB,WAAT,EAAsBD,YAAtB,CAFzB;AAGA,MAAIY,eAAe,GAAG,CAAtB;AACA,QAAMC,WAAW,GAAGX,cAAc,GAAGrB,eAAH,GAAqBD,OAAvD;AAEA,sBACE,oBAAC,WAAD;AACE,IAAA,SAAS,EAAE+B,mBADb;AAEE,IAAA,SAAS,EAAEtB,YAFb;AAGE,IAAA,WAAW,EAAEY,WAHf;AAIE,IAAA,cAAc,EAAEE,cAJlB;AAKE,IAAA,gBAAgB,EAAEE,gBALpB;AAME,IAAA,eAAe,EAAEC;AANnB,KAOGE,QAAQ,CAACM,GAAT,CAAa,QAAqCC,KAArC,KAA+C;AAAA,QAA9C;AAAEC,MAAAA,UAAF;AAAcC,MAAAA;AAAd,KAA8C;AAAA,QAAzBC,WAAyB;;AAC3D,UAAMC,UAAU,GAAGlC,mBAAmB,CAACiC,WAAD,EAActB,cAAd,CAAtC;AACA,UAAMwB,UAAU,GAAG,CAACX,MAAD,EAASM,KAAT,EAAgBM,IAAhB,CAAqB,GAArB,CAAnB;AACA,QAAIL,UAAJ,EAAgBJ,eAAe,IAAI,CAAnB;AAEhB,UAAMU,QAAQ,GAAGlB,aAAa,GAAG,CAAhB,IAAqBW,KAAK,GAAG,CAAR,IAAaX,aAAnD;AAEA,WAAOY,UAAU,gBACf,oBAAC,MAAD;AACE,MAAA,GAAG,EAAEI,UADP;AAEE,MAAA,MAAM,EAAEzB,MAFV;AAGE,MAAA,UAAU,EAAEqB;AAHd,OAIME,WAJN;AAKE,MAAA,QAAQ,EAAExB,QALZ;AAME,MAAA,eAAe,EAAEkB;AANnB,OADe,gBAUf,oBAAC,IAAD;AACE,MAAA,GAAG,EAAEK,EADP;AAEE,MAAA,EAAE,EAAEA,EAFN;AAGE,MAAA,cAAc,EAAEf,cAHlB;AAIE,MAAA,MAAM,EAAEP,MAJV;AAKE,MAAA,cAAc,EAAEwB,UALlB;AAME,MAAA,uBAAuB,EAAET,uBAN3B;AAOE,MAAA,QAAQ,EAAEhB,QAPZ;AAQE,MAAA,KAAK,EAAEJ,KART;AASE,MAAA,YAAY,EAAEQ,YAThB;AAUE,MAAA,WAAW,EAAED,WAVf;AAWE,MAAA,KAAK,EAAEE,IAXT;AAYE,MAAA,YAAY,EAAEV,YAZhB;AAaE,MAAA,WAAW,EAAE6B,WAbf;AAcE,MAAA,eAAe,EAAE3B,eAdnB;AAeE,MAAA,gBAAgB,EAAEC,gBAfpB;AAgBE,MAAA,YAAY,EAAEC,YAhBhB;AAiBE,MAAA,QAAQ,EAAE6B;AAjBZ,OAkBMJ,WAlBN,EAVF;AA+BD,GAtCA,CAPH,CADF;AAiDD,CAhFD;;AAkFA/B,aAAa,CAACoC,SAAd,GAA0B;AACxBnC,EAAAA,QAAQ,EAAEZ,SAAS,CAACgD,KAAV,CAAgBC,UADF;AAExB1B,EAAAA,IAAI,EAAEvB,SAAS,CAACkD,MAFQ;AAGxB/B,EAAAA,MAAM,EAAEnB,SAAS,CAACkD,MAAV,CAAiBD,UAHD;AAIxBpC,EAAAA,YAAY,EAAEb,SAAS,CAACkD,MAJA;AAKxB7B,EAAAA,WAAW,EAAErB,SAAS,CAACmD,SAAV,CAAoB,CAACnD,SAAS,CAACoD,OAAV,CAAkBpD,SAAS,CAACqD,IAA5B,CAAD,EAAoCrD,SAAS,CAACqD,IAA9C,CAApB,CALW;AAMxB/B,EAAAA,YAAY,EAAEtB,SAAS,CAACmD,SAAV,CAAoB,CAACnD,SAAS,CAACoD,OAAV,CAAkBpD,SAAS,CAACqD,IAA5B,CAAD,EAAoCrD,SAAS,CAACqD,IAA9C,CAApB,CANU;AAOxBjC,EAAAA,cAAc,EAAEpB,SAAS,CAACgD,KAPF;AAQxBjC,EAAAA,eAAe,EAAEf,SAAS,CAACsD,IARH;AASxBtC,EAAAA,gBAAgB,EAAEhB,SAAS,CAACsD,IATJ;AAUxBrC,EAAAA,YAAY,EAAEjB,SAAS,CAACsD,IAVA;AAWxBpC,EAAAA,QAAQ,EAAElB,SAAS,CAACkD,MAXI;AAYxBpC,EAAAA,KAAK,EAAEd,SAAS,CAACkD,MAZO;AAaxB1B,EAAAA,YAAY,EAAExB,SAAS,CAACuD,MAbA;AAcxB9B,EAAAA,WAAW,EAAEzB,SAAS,CAACwD,MAdC;AAexB9B,EAAAA,cAAc,EAAE1B,SAAS,CAACsD,IAfF;AAgBxB3B,EAAAA,cAAc,EAAE3B,SAAS,CAACkD,MAhBF;AAiBxBtB,EAAAA,aAAa,EAAE5B,SAAS,CAACwD;AAjBD,CAA1B;AAoBA7C,aAAa,CAAC8C,YAAd,GAA6B;AAC3BpC,EAAAA,WAAW,EAAE,EADc;AAE3BC,EAAAA,YAAY,EAAE,EAFa;AAG3BC,EAAAA,IAAI,EAAE,EAHqB;AAI3BV,EAAAA,YAAY,EAAE,EAJa;AAK3BO,EAAAA,cAAc,EAAE,EALW;AAM3BL,EAAAA,eAAe,EAAE,IANU;AAO3BC,EAAAA,gBAAgB,EAAE,IAPS;AAQ3BC,EAAAA,YAAY,EAAE,IARa;AAS3BC,EAAAA,QAAQ,EAAE,EATiB;AAU3BJ,EAAAA,KAAK,EAAE,UAVoB;AAW3BU,EAAAA,YAAY,EAAE,EAXa;AAY3BC,EAAAA,WAAW,EAAE,CAZc;AAa3BC,EAAAA,cAAc,EAAE,KAbW;AAc3BC,EAAAA,cAAc,EAAE,EAdW;AAe3BC,EAAAA,aAAa,EAAE;AAfY,CAA7B;AAkBA,eAAe1B,SAAS,CAACS,aAAD,CAAxB","sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { withTitle } from '../../HOC';\nimport Banner from '../Banner';\nimport Wrapper from '../Wrapper';\nimport CarouselWrapper from '../CarouselWrapper';\nimport Card from './Card';\nimport { getDynamicGridClasses } from './helpers';\nimport { getEntitiesWithBanner, parsePropsToDisplay } from '../../helpers';\nimport { getPropsToDisplayModifiers } from '../../utils';\n\nconst CardContainer = ({\n cardData,\n gridModifier,\n style,\n displayCategory,\n displayThumbnail,\n displayTitle,\n modifier,\n entity,\n propsToDisplay,\n gtmChildren,\n cardChildren,\n name,\n designConfig,\n itemsPerRow,\n enableCarousel,\n bannerModifier,\n priorityLimit,\n enableAutoScroll,\n autoScrollTimer,\n ...cardProps\n}) => {\n const entities = getEntitiesWithBanner(cardData, cardProps);\n const { itemId } = useContext(MainContext);\n const propsToDisplayModifiers = getPropsToDisplayModifiers(propsToDisplay);\n const dynamicWrapperSizes = enableCarousel\n ? ''\n : getDynamicGridClasses('grid', itemsPerRow, designConfig);\n let cardBannerIndex = 0;\n const CardWrapper = enableCarousel ? CarouselWrapper : Wrapper;\n\n return (\n <CardWrapper\n className={dynamicWrapperSizes}\n modifiers={gridModifier}\n itemsPerRow={itemsPerRow}\n bannerModifier={bannerModifier}\n enableAutoScroll={enableAutoScroll}\n autoScrollTimer={autoScrollTimer}>\n {entities.map(({ baseAdunit, id, ...entityProps }, index) => {\n const extraProps = parsePropsToDisplay(entityProps, propsToDisplay);\n const dynamicKey = [itemId, index].join('-');\n if (baseAdunit) cardBannerIndex += 1;\n\n const priority = priorityLimit > 0 && index + 1 <= priorityLimit;\n\n return baseAdunit ? (\n <Banner\n key={dynamicKey}\n entity={entity}\n baseAdunit={baseAdunit}\n {...entityProps}\n modifier={modifier}\n cardBannerIndex={cardBannerIndex}\n />\n ) : (\n <Card\n key={id}\n id={id}\n enableCarousel={enableCarousel}\n entity={entity}\n propsToDisplay={extraProps}\n propsToDisplayModifiers={propsToDisplayModifiers}\n modifier={modifier}\n style={style}\n cardChildren={cardChildren}\n gtmChildren={gtmChildren}\n gtmId={name}\n gridModifier={gridModifier}\n entityProps={entityProps}\n displayCategory={displayCategory}\n displayThumbnail={displayThumbnail}\n displayTitle={displayTitle}\n priority={priority}\n {...entityProps}\n />\n );\n })}\n </CardWrapper>\n );\n};\n\nCardContainer.propTypes = {\n cardData: PropTypes.array.isRequired,\n name: PropTypes.string,\n entity: PropTypes.string.isRequired,\n gridModifier: PropTypes.string,\n gtmChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n cardChildren: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n propsToDisplay: PropTypes.array,\n displayCategory: PropTypes.bool,\n displayThumbnail: PropTypes.bool,\n displayTitle: PropTypes.bool,\n modifier: PropTypes.string,\n style: PropTypes.string,\n designConfig: PropTypes.object,\n itemsPerRow: PropTypes.number,\n enableCarousel: PropTypes.bool,\n bannerModifier: PropTypes.string,\n priorityLimit: PropTypes.number\n};\n\nCardContainer.defaultProps = {\n gtmChildren: [],\n cardChildren: [],\n name: '',\n gridModifier: '',\n propsToDisplay: [],\n displayCategory: true,\n displayThumbnail: true,\n displayTitle: true,\n modifier: '',\n style: 'portrait',\n designConfig: {},\n itemsPerRow: 1,\n enableCarousel: false,\n bannerModifier: '',\n priorityLimit: 0\n};\n\nexport default withTitle(CardContainer);\n"],"file":"CardContainer.js"}
|
|
@@ -3,7 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
|
|
|
3
3
|
const _excluded = ["entity", "propsToDisplay", "itemsToDisplay"],
|
|
4
4
|
_excluded2 = ["gridModifier"];
|
|
5
5
|
import React from 'react';
|
|
6
|
-
import { useQuery } from '@apollo/
|
|
6
|
+
import { useQuery } from '@apollo/client';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import { getSingleEntitySchema } from '../../application/query';
|
|
9
9
|
import CardRender from './CardRender';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Card/CardFactory.js"],"names":["React","useQuery","PropTypes","getSingleEntitySchema","CardRender","buildPropsQuery","getGenericProps","checkPropsToUse","WITH_BANNER","CardFactory","entity","propsToDisplay","itemsToDisplay","cardProps","data","error","loading","variables","id","message","propsToDisplayValues","extraProps","gridModifier","cardRenderProps","extraModifierForBanner","banner","propTypes","string","isRequired","array","defaultProps"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Card/CardFactory.js"],"names":["React","useQuery","PropTypes","getSingleEntitySchema","CardRender","buildPropsQuery","getGenericProps","checkPropsToUse","WITH_BANNER","CardFactory","entity","propsToDisplay","itemsToDisplay","cardProps","data","error","loading","variables","id","message","propsToDisplayValues","extraProps","gridModifier","cardRenderProps","extraModifierForBanner","banner","propTypes","string","isRequired","array","defaultProps"],"mappings":";;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,qBAAT,QAAsC,yBAAtC;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,SAASC,eAAT,EAA0BC,eAA1B,EAA2CC,eAA3C,QAAkE,eAAlE;AACA,SAASC,WAAT,QAA4B,iBAA5B;;AAEA,MAAMC,WAAW,GAAG,QAA8D;AAAA,MAA7D;AAAEC,IAAAA,MAAF;AAAUC,IAAAA,cAAV;AAA0BC,IAAAA;AAA1B,GAA6D;AAAA,MAAhBC,SAAgB;;AAChF,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAeC,IAAAA;AAAf,MAA2Bf,QAAQ,CAACE,qBAAD,EAAwB;AAC/Dc,IAAAA,SAAS,EAAE;AAAEC,MAAAA,EAAE,EAAER;AAAN;AADoD,GAAxB,CAAzC;AAIA,MAAIM,OAAJ,EAAa,OAAO,EAAP;AACb,MAAID,KAAJ,EAAW,OAAOA,KAAK,CAACI,OAAb;AACX,MAAI,CAACL,IAAL,EAAW,OAAO,IAAP;AAEX,QAAMM,oBAAoB,GAAGb,eAAe,CAACI,cAAD,CAA5C;AACA,QAAMU,UAAU,GAAGhB,eAAe,CAACS,IAAD,EAAOM,oBAAP,EAA6BP,SAA7B,CAAf,IAA0D,EAA7E;;AACA,2BAA6CP,eAAe,CAACO,SAAD,CAA5D;AAAA,QAAM;AAAES,IAAAA;AAAF,GAAN;AAAA,QAAyBC,eAAzB;;AACA,QAAMC,sBAAsB,GAAGD,eAAe,CAACE,MAAhB,GAAyBjB,WAAzB,GAAuC,EAAtE;AAEA,sBACE,oBAAC,UAAD;AACE,IAAA,YAAY,EAAG,GAAEc,YAAa,GAAEE,sBAAuB,EADzD;AAEE,IAAA,cAAc,EAAEA,sBAFlB;AAGE,IAAA,MAAM,EAAEd,MAHV;AAIE,IAAA,cAAc,EAAEE,cAJlB;AAKE,IAAA,cAAc,EAAED,cALlB;AAME,IAAA,YAAY,EAAEU;AANhB,KAOME,eAPN,EADF;AAWD,CAzBD;;AA2BAd,WAAW,CAACiB,SAAZ,GAAwB;AACtBhB,EAAAA,MAAM,EAAER,SAAS,CAACyB,MAAV,CAAiBC,UADH;AAEtBjB,EAAAA,cAAc,EAAET,SAAS,CAAC2B,KAFJ;AAGtBjB,EAAAA,cAAc,EAAEV,SAAS,CAAC2B;AAHJ,CAAxB;AAMApB,WAAW,CAACqB,YAAZ,GAA2B;AACzBnB,EAAAA,cAAc,EAAE,EADS;AAEzBC,EAAAA,cAAc,EAAE;AAFS,CAA3B;AAKA,eAAeH,WAAf","sourcesContent":["import React from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\nimport { getSingleEntitySchema } from '../../application/query';\nimport CardRender from './CardRender';\nimport { buildPropsQuery, getGenericProps, checkPropsToUse } from '../../helpers';\nimport { WITH_BANNER } from '../../constants';\n\nconst CardFactory = ({ entity, propsToDisplay, itemsToDisplay, ...cardProps }) => {\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: entity }\n });\n\n if (loading) return '';\n if (error) return error.message;\n if (!data) return null;\n\n const propsToDisplayValues = checkPropsToUse(propsToDisplay);\n const extraProps = buildPropsQuery(data, propsToDisplayValues, cardProps) || '';\n const { gridModifier, ...cardRenderProps } = getGenericProps(cardProps);\n const extraModifierForBanner = cardRenderProps.banner ? WITH_BANNER : '';\n\n return (\n <CardRender\n gridModifier={`${gridModifier}${extraModifierForBanner}`}\n bannerModifier={extraModifierForBanner}\n entity={entity}\n itemsToDisplay={itemsToDisplay}\n propsToDisplay={propsToDisplay}\n entityFields={extraProps}\n {...cardRenderProps}\n />\n );\n};\n\nCardFactory.propTypes = {\n entity: PropTypes.string.isRequired,\n propsToDisplay: PropTypes.array,\n itemsToDisplay: PropTypes.array\n};\n\nCardFactory.defaultProps = {\n propsToDisplay: [],\n itemsToDisplay: []\n};\n\nexport default CardFactory;\n"],"file":"CardFactory.js"}
|
|
@@ -8,7 +8,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
8
8
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
9
9
|
|
|
10
10
|
import React, { useContext } from 'react';
|
|
11
|
-
import { useQuery } from '
|
|
11
|
+
import { useQuery } from '@apollo/client';
|
|
12
12
|
import dynamic from 'next/dynamic';
|
|
13
13
|
import PropTypes from 'prop-types';
|
|
14
14
|
import { MainContext } from '@blaze-cms/nextjs-components';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Card/CardRender.js"],"names":["React","useContext","useQuery","dynamic","PropTypes","MainContext","generateSingleItemQuery","SEARCH_PUBLISHED_CONTENT","AND","useGetEntitySchemasAsObj","useGetImages","getUpdatedFilterBy","getEntityData","getRequiredSchemas","sortResponseData","getUnpublishedEntityName","renderChildren","splitChildren","removeExtraItems","appendImages","filtersSetup","filterQuerySetup","shouldSkipSingleQuery","shouldReturn","CardContainer","CardRender","entity","entityFields","itemsToDisplay","children","otherProps","parent","itemId","itemEntity","filterBy","filterByProperty","sortby","sort","sortProperties","operator","filterOperator","updatedSortProperties","length","unshift","propsToDisplay","sortbyFilters","map","filter","Boolean","flat","variableProps","itemEntityUpdated","data","mainSchemas","loading","_loading","error","_error","isPreview","entityType","docType","getAction","queryProps","inheritedFilters","currentSchema","filterEntitySchema","entitySameAsCurrentItemEntity","action","filterEntityRelations","getEntitySchemas","Object","values","entityData","_err","_load","variables","id","skip","requiredSchema","schemaLoading","schemaError","updatedFilterBy","limit","cardsError","cardsLoading","imageIds","imageId","imagesData","imagesLoading","isLoading","hasError","message","results","cardData","orderedData","regularChildren","gtmChildren","name","updatedCards","propTypes","oneOfType","arrayOf","node","string","isRequired","array","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from 'react-apollo';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { SEARCH_PUBLISHED_CONTENT, AND } from '../../constants';\nimport { useGetEntitySchemasAsObj, useGetImages } from '../../hooks';\nimport {\n getUpdatedFilterBy,\n getEntityData,\n getRequiredSchemas,\n sortResponseData,\n getUnpublishedEntityName,\n renderChildren,\n splitChildren,\n removeExtraItems,\n appendImages\n} from '../../helpers';\nimport { filtersSetup, filterQuerySetup, shouldSkipSingleQuery, shouldReturn } from './helpers';\n\nconst CardContainer = dynamic(() => import('./CardContainer'));\n\nconst CardRender = ({ entity, entityFields, itemsToDisplay, children, ...otherProps }) => {\n const {\n parent: { itemId, itemEntity },\n filterBy = [],\n filterByProperty = [],\n sortby,\n sort,\n sortProperties = [],\n operator: filterOperator = AND\n } = otherProps;\n\n const updatedSortProperties = [...sortProperties];\n if (!updatedSortProperties.length && sort) {\n updatedSortProperties.unshift({ sort, propsToDisplay: sortby });\n }\n\n const sortbyFilters = updatedSortProperties\n .map(({ propsToDisplay }) => propsToDisplay)\n .filter(Boolean)\n .flat();\n\n const variableProps = {\n ...otherProps,\n sortProperties: updatedSortProperties,\n sort: null,\n sortby: null\n };\n\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const { data: mainSchemas = {}, loading: _loading, error: _error } = useGetEntitySchemasAsObj([\n itemEntityUpdated,\n entity\n ]);\n\n const { isPreview } = useContext(MainContext);\n const { entityType, docType } = getEntityData(entity);\n const {\n getAction,\n queryProps,\n inheritedFilters,\n currentSchema,\n filterEntitySchema,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n } = filtersSetup({\n entityFields,\n entityType,\n filterBy,\n filterByProperty,\n entity,\n getEntitySchemas: Object.values(mainSchemas),\n isPreview,\n itemEntityUpdated\n });\n const { data: { entityData = {} } = {}, error: _err, loading: _load } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: itemId },\n skip: shouldSkipSingleQuery(_loading, getAction, queryProps)\n }\n );\n\n const {\n data: requiredSchema = {},\n loading: schemaLoading,\n error: schemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n _loading\n );\n\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n variableProps\n );\n\n const { limit, variables } = filterQuerySetup({\n getEntitySchemas: Object.values(requiredSchema),\n entity,\n updatedFilterBy,\n variableProps,\n docType,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay,\n entitySameAsCurrentItemEntity\n });\n const { data, error: cardsError, loading: cardsLoading } = useQuery(action, {\n variables,\n skip: shouldReturn(!updatedFilterBy, _loading, _load, schemaLoading, _error, _err, schemaError)\n });\n const imageIds = itemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n const isLoading = shouldReturn(_loading, _load, schemaLoading, cardsLoading, imagesLoading);\n const hasError = shouldReturn(_error, _err, schemaError);\n\n if (!updatedFilterBy) return null;\n if (isLoading) return '';\n if (hasError) return null;\n if (cardsError) return cardsError.message;\n\n let { results: cardData } = data[SEARCH_PUBLISHED_CONTENT];\n if (!cardData || !cardData.length) return null;\n cardData = entitySameAsCurrentItemEntity ? removeExtraItems(cardData, limit, itemId) : cardData;\n const orderedData = sortResponseData(cardData, itemsToDisplay);\n const { regularChildren, gtmChildren } = splitChildren(children, cardData, entity, {\n name: variableProps.name\n });\n const updatedCards = appendImages(imagesData, orderedData, itemsToDisplay);\n\n return (\n <>\n {gtmChildren && renderChildren(gtmChildren)}\n <CardContainer\n cardData={updatedCards}\n entity={entity}\n gtmChildren={gtmChildren}\n cardChildren={regularChildren}\n {...variableProps}\n />\n </>\n );\n};\n\nCardRender.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n entity: PropTypes.string.isRequired,\n entityFields: PropTypes.string.isRequired,\n itemsToDisplay: PropTypes.array\n};\n\nCardRender.defaultProps = {\n children: [],\n itemsToDisplay: []\n};\n\nexport default CardRender;\n"],"file":"CardRender.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Card/CardRender.js"],"names":["React","useContext","useQuery","dynamic","PropTypes","MainContext","generateSingleItemQuery","SEARCH_PUBLISHED_CONTENT","AND","useGetEntitySchemasAsObj","useGetImages","getUpdatedFilterBy","getEntityData","getRequiredSchemas","sortResponseData","getUnpublishedEntityName","renderChildren","splitChildren","removeExtraItems","appendImages","filtersSetup","filterQuerySetup","shouldSkipSingleQuery","shouldReturn","CardContainer","CardRender","entity","entityFields","itemsToDisplay","children","otherProps","parent","itemId","itemEntity","filterBy","filterByProperty","sortby","sort","sortProperties","operator","filterOperator","updatedSortProperties","length","unshift","propsToDisplay","sortbyFilters","map","filter","Boolean","flat","variableProps","itemEntityUpdated","data","mainSchemas","loading","_loading","error","_error","isPreview","entityType","docType","getAction","queryProps","inheritedFilters","currentSchema","filterEntitySchema","entitySameAsCurrentItemEntity","action","filterEntityRelations","getEntitySchemas","Object","values","entityData","_err","_load","variables","id","skip","requiredSchema","schemaLoading","schemaError","updatedFilterBy","limit","cardsError","cardsLoading","imageIds","imageId","imagesData","imagesLoading","isLoading","hasError","message","results","cardData","orderedData","regularChildren","gtmChildren","name","updatedCards","propTypes","oneOfType","arrayOf","node","string","isRequired","array","defaultProps"],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport { useQuery } from '@apollo/client';\nimport dynamic from 'next/dynamic';\nimport PropTypes from 'prop-types';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport { generateSingleItemQuery } from '../../application/query';\nimport { SEARCH_PUBLISHED_CONTENT, AND } from '../../constants';\nimport { useGetEntitySchemasAsObj, useGetImages } from '../../hooks';\nimport {\n getUpdatedFilterBy,\n getEntityData,\n getRequiredSchemas,\n sortResponseData,\n getUnpublishedEntityName,\n renderChildren,\n splitChildren,\n removeExtraItems,\n appendImages\n} from '../../helpers';\nimport { filtersSetup, filterQuerySetup, shouldSkipSingleQuery, shouldReturn } from './helpers';\n\nconst CardContainer = dynamic(() => import('./CardContainer'));\n\nconst CardRender = ({ entity, entityFields, itemsToDisplay, children, ...otherProps }) => {\n const {\n parent: { itemId, itemEntity },\n filterBy = [],\n filterByProperty = [],\n sortby,\n sort,\n sortProperties = [],\n operator: filterOperator = AND\n } = otherProps;\n\n const updatedSortProperties = [...sortProperties];\n if (!updatedSortProperties.length && sort) {\n updatedSortProperties.unshift({ sort, propsToDisplay: sortby });\n }\n\n const sortbyFilters = updatedSortProperties\n .map(({ propsToDisplay }) => propsToDisplay)\n .filter(Boolean)\n .flat();\n\n const variableProps = {\n ...otherProps,\n sortProperties: updatedSortProperties,\n sort: null,\n sortby: null\n };\n\n const itemEntityUpdated = getUnpublishedEntityName(itemEntity);\n const { data: mainSchemas = {}, loading: _loading, error: _error } = useGetEntitySchemasAsObj([\n itemEntityUpdated,\n entity\n ]);\n\n const { isPreview } = useContext(MainContext);\n const { entityType, docType } = getEntityData(entity);\n const {\n getAction,\n queryProps,\n inheritedFilters,\n currentSchema,\n filterEntitySchema,\n entitySameAsCurrentItemEntity,\n action,\n filterEntityRelations\n } = filtersSetup({\n entityFields,\n entityType,\n filterBy,\n filterByProperty,\n entity,\n getEntitySchemas: Object.values(mainSchemas),\n isPreview,\n itemEntityUpdated\n });\n const { data: { entityData = {} } = {}, error: _err, loading: _load } = useQuery(\n generateSingleItemQuery(getAction, queryProps),\n {\n variables: { id: itemId },\n skip: shouldSkipSingleQuery(_loading, getAction, queryProps)\n }\n );\n\n const {\n data: requiredSchema = {},\n loading: schemaLoading,\n error: schemaError\n } = useGetEntitySchemasAsObj(\n getRequiredSchemas([...filterByProperty, ...sortbyFilters], filterEntitySchema),\n _loading\n );\n\n const updatedFilterBy = getUpdatedFilterBy(\n inheritedFilters,\n entityData,\n currentSchema,\n filterEntitySchema,\n itemId,\n variableProps\n );\n\n const { limit, variables } = filterQuerySetup({\n getEntitySchemas: Object.values(requiredSchema),\n entity,\n updatedFilterBy,\n variableProps,\n docType,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay,\n entitySameAsCurrentItemEntity\n });\n const { data, error: cardsError, loading: cardsLoading } = useQuery(action, {\n variables,\n skip: shouldReturn(!updatedFilterBy, _loading, _load, schemaLoading, _error, _err, schemaError)\n });\n const imageIds = itemsToDisplay.map(({ imageId }) => imageId).filter(Boolean);\n const { data: imagesData, loading: imagesLoading } = useGetImages(imageIds, true);\n const isLoading = shouldReturn(_loading, _load, schemaLoading, cardsLoading, imagesLoading);\n const hasError = shouldReturn(_error, _err, schemaError);\n\n if (!updatedFilterBy) return null;\n if (isLoading) return '';\n if (hasError) return null;\n if (cardsError) return cardsError.message;\n\n let { results: cardData } = data[SEARCH_PUBLISHED_CONTENT];\n if (!cardData || !cardData.length) return null;\n cardData = entitySameAsCurrentItemEntity ? removeExtraItems(cardData, limit, itemId) : cardData;\n const orderedData = sortResponseData(cardData, itemsToDisplay);\n const { regularChildren, gtmChildren } = splitChildren(children, cardData, entity, {\n name: variableProps.name\n });\n const updatedCards = appendImages(imagesData, orderedData, itemsToDisplay);\n\n return (\n <>\n {gtmChildren && renderChildren(gtmChildren)}\n <CardContainer\n cardData={updatedCards}\n entity={entity}\n gtmChildren={gtmChildren}\n cardChildren={regularChildren}\n {...variableProps}\n />\n </>\n );\n};\n\nCardRender.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n entity: PropTypes.string.isRequired,\n entityFields: PropTypes.string.isRequired,\n itemsToDisplay: PropTypes.array\n};\n\nCardRender.defaultProps = {\n children: [],\n itemsToDisplay: []\n};\n\nexport default CardRender;\n"],"file":"CardRender.js"}
|
|
@@ -4,7 +4,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
4
4
|
|
|
5
5
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
6
|
|
|
7
|
-
import { getStringTypeProps } from '@blaze-cms/utils';
|
|
7
|
+
import { getStringTypeProps } from '@blaze-cms/utils/src/helpers';
|
|
8
8
|
import { getGenericRenderVariables, buildRawQueryBase, buildSetFilters } from '../../../helpers';
|
|
9
9
|
import { DEFAULT_LIMIT } from '../../../constants';
|
|
10
10
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Card/helpers/filter-query-setup.js"],"names":["getStringTypeProps","getGenericRenderVariables","buildRawQueryBase","buildSetFilters","DEFAULT_LIMIT","filterQuerySetup","getEntitySchemas","entity","updatedFilterBy","variableProps","docType","filterOperator","filterEntityRelations","itemsToDisplay","entitySameAsCurrentItemEntity","stringProps","filterValues","length","filterBy","rawQuery","bool","relations","addListFiltersToQuery","limit","settingsLimit","requestLimit","Number","variables","JSON","stringify"],"mappings":";;;;;;AAAA,SAASA,kBAAT,QAAmC,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Card/helpers/filter-query-setup.js"],"names":["getStringTypeProps","getGenericRenderVariables","buildRawQueryBase","buildSetFilters","DEFAULT_LIMIT","filterQuerySetup","getEntitySchemas","entity","updatedFilterBy","variableProps","docType","filterOperator","filterEntityRelations","itemsToDisplay","entitySameAsCurrentItemEntity","stringProps","filterValues","length","filterBy","rawQuery","bool","relations","addListFiltersToQuery","limit","settingsLimit","requestLimit","Number","variables","JSON","stringify"],"mappings":";;;;;;AAAA,SAASA,kBAAT,QAAmC,8BAAnC;AACA,SAASC,yBAAT,EAAoCC,iBAApC,EAAuDC,eAAvD,QAA8E,kBAA9E;AACA,SAASC,aAAT,QAA8B,oBAA9B;;AAEA,MAAMC,gBAAgB,GAAG,CAAC;AACxBC,EAAAA,gBADwB;AAExBC,EAAAA,MAFwB;AAGxBC,EAAAA,eAHwB;AAIxBC,EAAAA,aAJwB;AAKxBC,EAAAA,OALwB;AAMxBC,EAAAA,cANwB;AAOxBC,EAAAA,qBAPwB;AAQxBC,EAAAA,cARwB;AASxBC,EAAAA;AATwB,CAAD,KAUnB;AACJ,QAAMC,WAAW,GAAGf,kBAAkB,CAACO,MAAD,EAASK,qBAAT,EAAgCN,gBAAhC,CAAtC;AACA,QAAMU,YAAY,GAChBR,eAAe,IAAIA,eAAe,CAACS,MAAnC,GACId,eAAe,iCAAMM,aAAN;AAAqBS,IAAAA,QAAQ,EAAEV;AAA/B,KADnB,GAEIL,eAAe,CAACM,aAAD,CAHrB;AAKA,QAAMU,QAAQ,GAAG;AACfC,IAAAA,IAAI,EAAElB,iBAAiB,CAAC;AACtBQ,MAAAA,OADsB;AAEtBM,MAAAA,YAFsB;AAGtBL,MAAAA,cAHsB;AAItBU,MAAAA,SAAS,EAAET,qBAJW;AAKtBG,MAAAA,WALsB;AAMtBF,MAAAA,cANsB;AAOtBS,MAAAA,qBAAqB,EAAE;AAPD,KAAD;AADR,GAAjB,CAPI,CAmBJ;;AACA,QAAM;AAAEC,IAAAA,KAAK,EAAEC;AAAT,MAA2Bf,aAAjC;AACA,QAAMc,KAAK,GAAGC,aAAa,IAAIpB,aAA/B,CArBI,CAqB0C;;AAC9C,QAAMqB,YAAY,GAAGX,6BAA6B,GAAGY,MAAM,CAACH,KAAD,CAAN,GAAgB,CAAnB,GAAuBA,KAAzE;AACA,QAAMI,SAAS,GAAG1B,yBAAyB,CACzCW,qBADyC,kCAEpCH,aAFoC;AAErBc,IAAAA,KAAK,EAAEE;AAFc,MAGzCV,WAHyC,EAIzCa,IAAI,CAACC,SAAL,CAAeV,QAAf,CAJyC,CAA3C;AAOA,SAAO;AAAEQ,IAAAA,SAAF;AAAaJ,IAAAA;AAAb,GAAP;AACD,CAzCD;;AA2CA,eAAelB,gBAAf","sourcesContent":["import { getStringTypeProps } from '@blaze-cms/utils/src/helpers';\nimport { getGenericRenderVariables, buildRawQueryBase, buildSetFilters } from '../../../helpers';\nimport { DEFAULT_LIMIT } from '../../../constants';\n\nconst filterQuerySetup = ({\n getEntitySchemas,\n entity,\n updatedFilterBy,\n variableProps,\n docType,\n filterOperator,\n filterEntityRelations,\n itemsToDisplay,\n entitySameAsCurrentItemEntity\n}) => {\n const stringProps = getStringTypeProps(entity, filterEntityRelations, getEntitySchemas);\n const filterValues =\n updatedFilterBy && updatedFilterBy.length\n ? buildSetFilters({ ...variableProps, filterBy: updatedFilterBy })\n : buildSetFilters(variableProps);\n\n const rawQuery = {\n bool: buildRawQueryBase({\n docType,\n filterValues,\n filterOperator,\n relations: filterEntityRelations,\n stringProps,\n itemsToDisplay,\n addListFiltersToQuery: true\n })\n };\n\n // increase limit to get extra item in case results contain current parent\n const { limit: settingsLimit } = variableProps;\n const limit = settingsLimit || DEFAULT_LIMIT; // all falsey should use default\n const requestLimit = entitySameAsCurrentItemEntity ? Number(limit) + 1 : limit;\n const variables = getGenericRenderVariables(\n filterEntityRelations,\n { ...variableProps, limit: requestLimit },\n stringProps,\n JSON.stringify(rawQuery)\n );\n\n return { variables, limit };\n};\n\nexport default filterQuerySetup;\n"],"file":"filter-query-setup.js"}
|
|
@@ -5,13 +5,31 @@ import { FaAngleLeft, FaAngleRight } from 'react-icons/fa';
|
|
|
5
5
|
const CarouselWrapper = ({
|
|
6
6
|
children,
|
|
7
7
|
bannerModifier,
|
|
8
|
-
itemsPerRow
|
|
8
|
+
itemsPerRow,
|
|
9
|
+
enableAutoScroll,
|
|
10
|
+
autoScrollTimer
|
|
9
11
|
}) => {
|
|
10
12
|
const ref = useRef();
|
|
11
13
|
const [buttonDisplay, setButtonDisplays] = useState({
|
|
12
14
|
displayLeft: false,
|
|
13
15
|
displayRight: true
|
|
14
16
|
});
|
|
17
|
+
const [shouldAutoScroll, setShouldAutoScroll] = useState(false);
|
|
18
|
+
const autoScrollRef = useRef();
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
autoScrollRef.current = shouldAutoScroll;
|
|
21
|
+
const id = setInterval(scrollCheck, autoScrollTimer);
|
|
22
|
+
|
|
23
|
+
function scrollCheck() {
|
|
24
|
+
if (!autoScrollRef.current) {
|
|
25
|
+
clearInterval(id);
|
|
26
|
+
} else {
|
|
27
|
+
handleButtonNavigation(true);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return () => clearInterval(id);
|
|
32
|
+
}, [autoScrollTimer, shouldAutoScroll]);
|
|
15
33
|
useEffect(() => {
|
|
16
34
|
const {
|
|
17
35
|
current: {
|
|
@@ -23,7 +41,8 @@ const CarouselWrapper = ({
|
|
|
23
41
|
displayLeft: false,
|
|
24
42
|
displayRight: false
|
|
25
43
|
});
|
|
26
|
-
|
|
44
|
+
setShouldAutoScroll(enableAutoScroll);
|
|
45
|
+
}, [enableAutoScroll]);
|
|
27
46
|
|
|
28
47
|
const handleScroll = () => {
|
|
29
48
|
const {
|
|
@@ -42,35 +61,48 @@ const CarouselWrapper = ({
|
|
|
42
61
|
};
|
|
43
62
|
|
|
44
63
|
const handleButtonNavigation = direction => {
|
|
64
|
+
if (!ref || !ref.current) return;
|
|
45
65
|
const {
|
|
46
66
|
current: {
|
|
47
67
|
offsetWidth,
|
|
48
|
-
scrollLeft
|
|
68
|
+
scrollLeft,
|
|
69
|
+
scrollWidth
|
|
49
70
|
}
|
|
50
71
|
} = ref;
|
|
51
|
-
|
|
72
|
+
|
|
73
|
+
if (autoScrollRef.current && scrollLeft + offsetWidth >= scrollWidth) {
|
|
74
|
+
ref.current.scrollLeft = 0;
|
|
75
|
+
} else {
|
|
76
|
+
ref.current.scrollLeft = direction ? scrollLeft + offsetWidth : scrollLeft - offsetWidth;
|
|
77
|
+
}
|
|
52
78
|
};
|
|
53
79
|
|
|
54
80
|
const {
|
|
55
81
|
displayLeft,
|
|
56
82
|
displayRight
|
|
57
83
|
} = buttonDisplay;
|
|
58
|
-
const wrapperClassName = `
|
|
59
|
-
const contentClassName = `
|
|
84
|
+
const wrapperClassName = `cards-carousel${bannerModifier}`;
|
|
85
|
+
const contentClassName = `cards-carousel--content items-per-row-${itemsPerRow}`;
|
|
60
86
|
return /*#__PURE__*/React.createElement("div", {
|
|
61
87
|
className: wrapperClassName
|
|
62
88
|
}, /*#__PURE__*/React.createElement("div", {
|
|
63
|
-
className: "
|
|
89
|
+
className: "cards-carousel--left-button-wrapper"
|
|
64
90
|
}, displayLeft && /*#__PURE__*/React.createElement("button", {
|
|
65
91
|
type: "button",
|
|
66
|
-
className: "
|
|
67
|
-
onClick: () =>
|
|
92
|
+
className: "cards-carousel--button-back icon-button icon",
|
|
93
|
+
onClick: () => {
|
|
94
|
+
setShouldAutoScroll(false);
|
|
95
|
+
handleButtonNavigation();
|
|
96
|
+
}
|
|
68
97
|
}, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaAngleLeft, null)))), /*#__PURE__*/React.createElement("div", {
|
|
69
|
-
className: "
|
|
98
|
+
className: "cards-carousel--right-button-wrapper"
|
|
70
99
|
}, displayRight && /*#__PURE__*/React.createElement("button", {
|
|
71
100
|
type: "button",
|
|
72
|
-
className: "
|
|
73
|
-
onClick: () =>
|
|
101
|
+
className: "cards-carousel--button-forward icon-button icon",
|
|
102
|
+
onClick: () => {
|
|
103
|
+
setShouldAutoScroll(false);
|
|
104
|
+
handleButtonNavigation(true);
|
|
105
|
+
}
|
|
74
106
|
}, /*#__PURE__*/React.createElement("i", null, /*#__PURE__*/React.createElement(FaAngleRight, null)))), /*#__PURE__*/React.createElement("div", {
|
|
75
107
|
className: contentClassName,
|
|
76
108
|
ref: ref,
|
|
@@ -81,12 +113,16 @@ const CarouselWrapper = ({
|
|
|
81
113
|
CarouselWrapper.propTypes = {
|
|
82
114
|
bannerModifier: PropTypes.string,
|
|
83
115
|
itemsPerRow: PropTypes.number,
|
|
84
|
-
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node])
|
|
116
|
+
children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
|
|
117
|
+
enableAutoScroll: PropTypes.bool,
|
|
118
|
+
autoScrollTimer: PropTypes.number
|
|
85
119
|
};
|
|
86
120
|
CarouselWrapper.defaultProps = {
|
|
87
121
|
itemsPerRow: 0,
|
|
88
122
|
bannerModifier: '',
|
|
89
|
-
children: []
|
|
123
|
+
children: [],
|
|
124
|
+
enableAutoScroll: false,
|
|
125
|
+
autoScrollTimer: 0
|
|
90
126
|
};
|
|
91
127
|
export default CarouselWrapper;
|
|
92
128
|
//# sourceMappingURL=CarouselWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/CarouselWrapper.js"],"names":["React","useRef","useState","useEffect","PropTypes","FaAngleLeft","FaAngleRight","CarouselWrapper","children","bannerModifier","itemsPerRow","ref","buttonDisplay","setButtonDisplays","displayLeft","displayRight","current","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","
|
|
1
|
+
{"version":3,"sources":["../../src/components/CarouselWrapper.js"],"names":["React","useRef","useState","useEffect","PropTypes","FaAngleLeft","FaAngleRight","CarouselWrapper","children","bannerModifier","itemsPerRow","enableAutoScroll","autoScrollTimer","ref","buttonDisplay","setButtonDisplays","displayLeft","displayRight","shouldAutoScroll","setShouldAutoScroll","autoScrollRef","current","id","setInterval","scrollCheck","clearInterval","handleButtonNavigation","offsetWidth","scrollWidth","handleScroll","scrollLeft","updatedDisplayLeft","updatedDisplayRight","direction","wrapperClassName","contentClassName","propTypes","string","number","oneOfType","arrayOf","node","bool","defaultProps"],"mappings":"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","sourcesContent":["import React, { useRef, useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { FaAngleLeft, FaAngleRight } from 'react-icons/fa';\n\nconst CarouselWrapper = ({\n children,\n bannerModifier,\n itemsPerRow,\n enableAutoScroll,\n autoScrollTimer\n}) => {\n const ref = useRef();\n const [buttonDisplay, setButtonDisplays] = useState({ displayLeft: false, displayRight: true });\n const [shouldAutoScroll, setShouldAutoScroll] = useState(false);\n const autoScrollRef = useRef();\n\n useEffect(\n () => {\n autoScrollRef.current = shouldAutoScroll;\n const id = setInterval(scrollCheck, autoScrollTimer);\n function scrollCheck() {\n if (!autoScrollRef.current) {\n clearInterval(id);\n } else {\n handleButtonNavigation(true);\n }\n }\n\n return () => clearInterval(id);\n },\n [autoScrollTimer, shouldAutoScroll]\n );\n\n useEffect(\n () => {\n const {\n current: { offsetWidth, scrollWidth }\n } = ref;\n if (scrollWidth <= offsetWidth)\n setButtonDisplays({ displayLeft: false, displayRight: false });\n setShouldAutoScroll(enableAutoScroll);\n },\n [enableAutoScroll]\n );\n\n const handleScroll = () => {\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n const updatedDisplayLeft = !!scrollLeft;\n const updatedDisplayRight = scrollLeft + offsetWidth + 1 < scrollWidth;\n setButtonDisplays({ displayLeft: updatedDisplayLeft, displayRight: updatedDisplayRight });\n };\n\n const handleButtonNavigation = direction => {\n if (!ref || !ref.current) return;\n const {\n current: { offsetWidth, scrollLeft, scrollWidth }\n } = ref;\n\n if (autoScrollRef.current && scrollLeft + offsetWidth >= scrollWidth) {\n ref.current.scrollLeft = 0;\n } else {\n ref.current.scrollLeft = direction ? scrollLeft + offsetWidth : scrollLeft - offsetWidth;\n }\n };\n\n const { displayLeft, displayRight } = buttonDisplay;\n const wrapperClassName = `cards-carousel${bannerModifier}`;\n const contentClassName = `cards-carousel--content items-per-row-${itemsPerRow}`;\n\n return (\n <div className={wrapperClassName}>\n <div className=\"cards-carousel--left-button-wrapper\">\n {displayLeft && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-back icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation();\n }}>\n <i>\n <FaAngleLeft />\n </i>\n </button>\n )}\n </div>\n <div className=\"cards-carousel--right-button-wrapper\">\n {displayRight && (\n <button\n type=\"button\"\n className=\"cards-carousel--button-forward icon-button icon\"\n onClick={() => {\n setShouldAutoScroll(false);\n handleButtonNavigation(true);\n }}>\n <i>\n <FaAngleRight />\n </i>\n </button>\n )}\n </div>\n <div className={contentClassName} ref={ref} onScroll={handleScroll}>\n {children}\n </div>\n </div>\n );\n};\n\nCarouselWrapper.propTypes = {\n bannerModifier: PropTypes.string,\n itemsPerRow: PropTypes.number,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n enableAutoScroll: PropTypes.bool,\n autoScrollTimer: PropTypes.number\n};\n\nCarouselWrapper.defaultProps = {\n itemsPerRow: 0,\n bannerModifier: '',\n children: [],\n enableAutoScroll: false,\n autoScrollTimer: 0\n};\n\nexport default CarouselWrapper;\n"],"file":"CarouselWrapper.js"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
2
|
const _excluded = ["entity", "dataRecordId", "propsToDisplay", "type", "useSelectedEntity", "elementTitle", "modifier", "headingStyle", "loopProperties", "loopLimit"];
|
|
3
3
|
import React, { useContext } from 'react';
|
|
4
|
-
import { useQuery } from '@apollo/
|
|
4
|
+
import { useQuery } from '@apollo/client';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { MainContext } from '@blaze-cms/nextjs-components';
|
|
7
7
|
import { getSingleEntitySchema } from '../../application/query';
|