@blaze-cms/plugin-gtm-fe 0.146.0-node18.1 → 0.146.0-rc-eagle-3.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 +2 -9
- package/lib/GoogleTagManager/GTMFactory.js +33 -37
- package/lib/GoogleTagManager/GTMFactory.js.map +1 -1
- package/lib/GoogleTagManager/GTMRender.js +47 -59
- package/lib/GoogleTagManager/GTMRender.js.map +1 -1
- package/lib/GoogleTagManager/index.js +2 -3
- package/lib/GoogleTagManager/index.js.map +1 -1
- package/lib/GoogleTagManagerEvent/GTMClickEvent.js +35 -40
- package/lib/GoogleTagManagerEvent/GTMClickEvent.js.map +1 -1
- package/lib/GoogleTagManagerEvent/GTMClickEvents.js +21 -24
- package/lib/GoogleTagManagerEvent/GTMClickEvents.js.map +1 -1
- package/lib/GoogleTagManagerEvent/GTMEvent.js +25 -33
- package/lib/GoogleTagManagerEvent/GTMEvent.js.map +1 -1
- package/lib/GoogleTagManagerEvent/GTMEventFactory.js +51 -60
- package/lib/GoogleTagManagerEvent/GTMEventFactory.js.map +1 -1
- package/lib/GoogleTagManagerEvent/GTMEventRender.js +54 -71
- package/lib/GoogleTagManagerEvent/GTMEventRender.js.map +1 -1
- package/lib/GoogleTagManagerEvent/GTMEventSwitch.js +20 -18
- package/lib/GoogleTagManagerEvent/GTMEventSwitch.js.map +1 -1
- package/lib/GoogleTagManagerEvent/index.js +2 -3
- package/lib/GoogleTagManagerEvent/index.js.map +1 -1
- package/lib/constants.js +12 -13
- package/lib/constants.js.map +1 -1
- package/lib/helpers/build-and-push-web-vitals.js +10 -11
- package/lib/helpers/build-and-push-web-vitals.js.map +1 -1
- package/lib/helpers/build-data-layer.js +20 -48
- package/lib/helpers/build-data-layer.js.map +1 -1
- package/lib/helpers/build-nested-event.js +54 -38
- package/lib/helpers/build-nested-event.js.map +1 -1
- package/lib/helpers/build-props-to-display-array.js +4 -11
- package/lib/helpers/build-props-to-display-array.js.map +1 -1
- package/lib/helpers/build-user-layer.js +22 -32
- package/lib/helpers/build-user-layer.js.map +1 -1
- package/lib/helpers/build-user-query-props.js +13 -27
- package/lib/helpers/build-user-query-props.js.map +1 -1
- package/lib/helpers/filter-gtm-events.js +8 -12
- package/lib/helpers/filter-gtm-events.js.map +1 -1
- package/lib/helpers/get-ids-to-use.js +6 -10
- package/lib/helpers/get-ids-to-use.js.map +1 -1
- package/lib/helpers/get-render-props.js +21 -17
- package/lib/helpers/get-render-props.js.map +1 -1
- package/lib/helpers/index.js +20 -21
- package/lib/helpers/index.js.map +1 -1
- package/lib/helpers/push-to-data-layer.js +4 -5
- package/lib/helpers/push-to-data-layer.js.map +1 -1
- package/lib/helpers/reset-data-layer.js +10 -23
- package/lib/helpers/reset-data-layer.js.map +1 -1
- package/lib/index.js +18 -51
- package/lib/index.js.map +1 -1
- package/lib-es/GoogleTagManager/GTMRender.js +4 -10
- package/lib-es/GoogleTagManager/GTMRender.js.map +1 -1
- package/lib-es/GoogleTagManagerEvent/GTMClickEvent.js +2 -2
- package/lib-es/GoogleTagManagerEvent/GTMClickEvent.js.map +1 -1
- package/lib-es/GoogleTagManagerEvent/GTMEvent.js +6 -3
- package/lib-es/GoogleTagManagerEvent/GTMEvent.js.map +1 -1
- package/lib-es/GoogleTagManagerEvent/GTMEventRender.js +4 -10
- package/lib-es/GoogleTagManagerEvent/GTMEventRender.js.map +1 -1
- package/package.json +14 -11
- package/src/GoogleTagManager/GTMRender.js +4 -6
- package/src/GoogleTagManagerEvent/GTMClickEvent.js +3 -2
- package/src/GoogleTagManagerEvent/GTMEvent.js +6 -2
- package/src/GoogleTagManagerEvent/GTMEventRender.js +4 -6
- package/babel.config.js +0 -3
- package/jest.config.js +0 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GTMClickEvent.js","names":["React","PropTypes","useQuery","checkIfLoggedIn","
|
|
1
|
+
{"version":3,"file":"GTMClickEvent.js","names":["React","PropTypes","useQuery","checkIfLoggedIn","getCurrentUser","GTMEvent","buildDataLayer","buildNestedEvent","buildUserQueryProps","buildUserLayer","GTMClickEvent","event","componentProps","parentComponent","eventTrigger","propsToDisplay","userPropsToDisplay","eventEcommerce","id","userId","userProps","data","userData","loading","variables","skip","dataLayerProps","dataLayerObject","userLayerObject","extendedDataLayer","_objectSpread","createElement","propTypes","object","isRequired","oneOfType","array","defaultProps"],"sources":["../../src/GoogleTagManagerEvent/GTMClickEvent.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';\nimport { getCurrentUser } from '@blaze-cms/react-page-builder';\n\nimport GTMEvent from './GTMEvent';\nimport { buildDataLayer, buildNestedEvent, buildUserQueryProps, buildUserLayer } from '../helpers';\n\nconst GTMClickEvent = ({ event, componentProps, parentComponent }) => {\n const { eventTrigger, propsToDisplay, userPropsToDisplay, eventEcommerce } = event;\n const { id: userId } = checkIfLoggedIn();\n const userProps = userId ? buildUserQueryProps(userPropsToDisplay) : '';\n const { data: userData, loading } = useQuery(getCurrentUser(userProps), {\n variables: { id: userId },\n skip: !userId\n });\n if (loading) return null;\n const dataLayerProps = buildDataLayer(componentProps, propsToDisplay);\n const dataLayerObject = buildNestedEvent(eventEcommerce, event, dataLayerProps, parentComponent);\n const userLayerObject = buildUserLayer(userData, userPropsToDisplay);\n\n const extendedDataLayer = { ...dataLayerObject, ...userLayerObject };\n\n return <GTMEvent dataLayerObject={extendedDataLayer} eventTrigger={eventTrigger} />;\n};\n\nGTMClickEvent.propTypes = {\n event: PropTypes.object.isRequired,\n componentProps: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n parentComponent: PropTypes.object\n};\n\nGTMClickEvent.defaultProps = {\n componentProps: {},\n parentComponent: {}\n};\n\nexport default GTMClickEvent;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,cAAc,QAAQ,+BAA+B;AAE9D,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,cAAc,EAAEC,gBAAgB,EAAEC,mBAAmB,EAAEC,cAAc,QAAQ,YAAY;AAElG,MAAMC,aAAa,GAAGA,CAAC;EAAEC,KAAK;EAAEC,cAAc;EAAEC;AAAgB,CAAC,KAAK;EACpE,MAAM;IAAEC,YAAY;IAAEC,cAAc;IAAEC,kBAAkB;IAAEC;EAAe,CAAC,GAAGN,KAAK;EAClF,MAAM;IAAEO,EAAE,EAAEC;EAAO,CAAC,GAAGhB,eAAe,CAAC,CAAC;EACxC,MAAMiB,SAAS,GAAGD,MAAM,GAAGX,mBAAmB,CAACQ,kBAAkB,CAAC,GAAG,EAAE;EACvE,MAAM;IAAEK,IAAI,EAAEC,QAAQ;IAAEC;EAAQ,CAAC,GAAGrB,QAAQ,CAACE,cAAc,CAACgB,SAAS,CAAC,EAAE;IACtEI,SAAS,EAAE;MAAEN,EAAE,EAAEC;IAAO,CAAC;IACzBM,IAAI,EAAE,CAACN;EACT,CAAC,CAAC;EACF,IAAII,OAAO,EAAE,OAAO,IAAI;EACxB,MAAMG,cAAc,GAAGpB,cAAc,CAACM,cAAc,EAAEG,cAAc,CAAC;EACrE,MAAMY,eAAe,GAAGpB,gBAAgB,CAACU,cAAc,EAAEN,KAAK,EAAEe,cAAc,EAAEb,eAAe,CAAC;EAChG,MAAMe,eAAe,GAAGnB,cAAc,CAACa,QAAQ,EAAEN,kBAAkB,CAAC;EAEpE,MAAMa,iBAAiB,GAAAC,aAAA,CAAAA,aAAA,KAAQH,eAAe,GAAKC,eAAe,CAAE;EAEpE,oBAAO5B,KAAA,CAAA+B,aAAA,CAAC1B,QAAQ;IAACsB,eAAe,EAAEE,iBAAkB;IAACf,YAAY,EAAEA;EAAa,CAAE,CAAC;AACrF,CAAC;AAEDJ,aAAa,CAACsB,SAAS,GAAG;EACxBrB,KAAK,EAAEV,SAAS,CAACgC,MAAM,CAACC,UAAU;EAClCtB,cAAc,EAAEX,SAAS,CAACkC,SAAS,CAAC,CAAClC,SAAS,CAACgC,MAAM,EAAEhC,SAAS,CAACmC,KAAK,CAAC,CAAC;EACxEvB,eAAe,EAAEZ,SAAS,CAACgC;AAC7B,CAAC;AAEDvB,aAAa,CAAC2B,YAAY,GAAG;EAC3BzB,cAAc,EAAE,CAAC,CAAC;EAClBC,eAAe,EAAE,CAAC;AACpB,CAAC;AAED,eAAeH,aAAa","ignoreList":[]}
|
|
@@ -20,10 +20,13 @@ const GTMEvent = ({
|
|
|
20
20
|
setShouldPushLayer(false);
|
|
21
21
|
if (isOnSuccess) handleOnSuccess();
|
|
22
22
|
};
|
|
23
|
-
if (!isViewEvent && shouldPushLayer)
|
|
24
|
-
|
|
23
|
+
if (!isViewEvent && shouldPushLayer) {
|
|
24
|
+
pushDataLayer();
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return isViewEvent && shouldPushLayer ? /*#__PURE__*/React.createElement(Waypoint, {
|
|
25
28
|
onEnter: pushDataLayer
|
|
26
|
-
})
|
|
29
|
+
}) : null;
|
|
27
30
|
};
|
|
28
31
|
GTMEvent.propTypes = {
|
|
29
32
|
handleOnSuccess: PropTypes.func.isRequired,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GTMEvent.js","names":["React","useState","useEffect","PropTypes","Waypoint","pushToDataLayer","IN_VIEW","ON_SUCCESS","GTMEvent","dataLayerObject","eventTrigger","currentLocation","handleOnSuccess","shouldPushLayer","setShouldPushLayer","isViewEvent","isOnSuccess","pushDataLayer","createElement","
|
|
1
|
+
{"version":3,"file":"GTMEvent.js","names":["React","useState","useEffect","PropTypes","Waypoint","pushToDataLayer","IN_VIEW","ON_SUCCESS","GTMEvent","dataLayerObject","eventTrigger","currentLocation","handleOnSuccess","shouldPushLayer","setShouldPushLayer","isViewEvent","isOnSuccess","pushDataLayer","createElement","onEnter","propTypes","func","isRequired","object","string"],"sources":["../../src/GoogleTagManagerEvent/GTMEvent.js"],"sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Waypoint } from 'react-waypoint';\nimport { pushToDataLayer } from '../helpers';\nimport { IN_VIEW, ON_SUCCESS } from '../constants';\n\nconst GTMEvent = ({ dataLayerObject, eventTrigger, currentLocation, handleOnSuccess }) => {\n const [shouldPushLayer, setShouldPushLayer] = useState(false);\n const isViewEvent = eventTrigger === IN_VIEW;\n const isOnSuccess = eventTrigger === ON_SUCCESS && !!handleOnSuccess;\n\n useEffect(() => {\n setShouldPushLayer(true);\n }, [currentLocation]);\n\n const pushDataLayer = () => {\n pushToDataLayer(dataLayerObject);\n setShouldPushLayer(false);\n if (isOnSuccess) handleOnSuccess();\n };\n\n if (!isViewEvent && shouldPushLayer) {\n pushDataLayer();\n return null;\n }\n\n return isViewEvent && shouldPushLayer ? <Waypoint onEnter={pushDataLayer} /> : null;\n};\n\nGTMEvent.propTypes = {\n handleOnSuccess: PropTypes.func.isRequired,\n dataLayerObject: PropTypes.object.isRequired,\n eventTrigger: PropTypes.string.isRequired,\n currentLocation: PropTypes.string.isRequired\n};\n\nexport default GTMEvent;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,eAAe,QAAQ,YAAY;AAC5C,SAASC,OAAO,EAAEC,UAAU,QAAQ,cAAc;AAElD,MAAMC,QAAQ,GAAGA,CAAC;EAAEC,eAAe;EAAEC,YAAY;EAAEC,eAAe;EAAEC;AAAgB,CAAC,KAAK;EACxF,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGb,QAAQ,CAAC,KAAK,CAAC;EAC7D,MAAMc,WAAW,GAAGL,YAAY,KAAKJ,OAAO;EAC5C,MAAMU,WAAW,GAAGN,YAAY,KAAKH,UAAU,IAAI,CAAC,CAACK,eAAe;EAEpEV,SAAS,CAAC,MAAM;IACdY,kBAAkB,CAAC,IAAI,CAAC;EAC1B,CAAC,EAAE,CAACH,eAAe,CAAC,CAAC;EAErB,MAAMM,aAAa,GAAGA,CAAA,KAAM;IAC1BZ,eAAe,CAACI,eAAe,CAAC;IAChCK,kBAAkB,CAAC,KAAK,CAAC;IACzB,IAAIE,WAAW,EAAEJ,eAAe,CAAC,CAAC;EACpC,CAAC;EAED,IAAI,CAACG,WAAW,IAAIF,eAAe,EAAE;IACnCI,aAAa,CAAC,CAAC;IACf,OAAO,IAAI;EACb;EAEA,OAAOF,WAAW,IAAIF,eAAe,gBAAGb,KAAA,CAAAkB,aAAA,CAACd,QAAQ;IAACe,OAAO,EAAEF;EAAc,CAAE,CAAC,GAAG,IAAI;AACrF,CAAC;AAEDT,QAAQ,CAACY,SAAS,GAAG;EACnBR,eAAe,EAAET,SAAS,CAACkB,IAAI,CAACC,UAAU;EAC1Cb,eAAe,EAAEN,SAAS,CAACoB,MAAM,CAACD,UAAU;EAC5CZ,YAAY,EAAEP,SAAS,CAACqB,MAAM,CAACF,UAAU;EACzCX,eAAe,EAAER,SAAS,CAACqB,MAAM,CAACF;AACpC,CAAC;AAED,eAAed,QAAQ","ignoreList":[]}
|
|
@@ -6,8 +6,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
6
6
|
import React, { useState } from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import { useQuery } from '@apollo/client';
|
|
9
|
-
import {
|
|
10
|
-
import { getUser } from '@blaze-cms/react-page-builder';
|
|
9
|
+
import { getCurrentUser } from '@blaze-cms/react-page-builder';
|
|
11
10
|
import { withRouter } from 'next/router';
|
|
12
11
|
import GTMEvent from './GTMEvent';
|
|
13
12
|
import { buildDataLayer, buildNestedEvent, buildUserQueryProps, buildUserLayer } from '../helpers';
|
|
@@ -31,18 +30,13 @@ const GTMEventRender = _ref => {
|
|
|
31
30
|
error,
|
|
32
31
|
loading
|
|
33
32
|
} = useQuery(action, queryVariables);
|
|
34
|
-
const
|
|
35
|
-
id: userId
|
|
36
|
-
} = checkIfLoggedIn();
|
|
37
|
-
const hasUserProps = userId && userPropsToDisplay && userPropsToDisplay.length;
|
|
33
|
+
const hasUserProps = userPropsToDisplay && userPropsToDisplay.length;
|
|
38
34
|
const userProps = hasUserProps ? buildUserQueryProps(userPropsToDisplay) : '';
|
|
39
35
|
const {
|
|
40
36
|
data: userData,
|
|
41
37
|
loading: userLoading
|
|
42
|
-
} = useQuery(
|
|
43
|
-
variables: {
|
|
44
|
-
id: userId
|
|
45
|
-
},
|
|
38
|
+
} = useQuery(getCurrentUser(userProps), {
|
|
39
|
+
variables: {},
|
|
46
40
|
skip: !hasUserProps
|
|
47
41
|
});
|
|
48
42
|
if (loading || userLoading || error) return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GTMEventRender.js","names":["React","useState","PropTypes","useQuery","
|
|
1
|
+
{"version":3,"file":"GTMEventRender.js","names":["React","useState","PropTypes","useQuery","getCurrentUser","withRouter","GTMEvent","buildDataLayer","buildNestedEvent","buildUserQueryProps","buildUserLayer","GTMEventRender","_ref","router","action","actionKey","queryVariables","parentComponent","userPropsToDisplay","handleOnSuccess","eventProps","_objectWithoutProperties","_excluded","asPath","currentLocation","setCurrentLocation","data","error","loading","hasUserProps","length","userProps","userData","userLoading","variables","skip","gtmData","entityData","eventTrigger","propsToDisplay","eventEcommerce","dataLayerProps","dataLayerObject","userLayerObject","extendedDataLayer","_objectSpread","createElement","propTypes","array","object","isRequired","string","func","defaultProps"],"sources":["../../src/GoogleTagManagerEvent/GTMEventRender.js"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getCurrentUser } from '@blaze-cms/react-page-builder';\nimport { withRouter } from 'next/router';\nimport GTMEvent from './GTMEvent';\nimport { buildDataLayer, buildNestedEvent, buildUserQueryProps, buildUserLayer } from '../helpers';\n\nconst GTMEventRender = ({\n router,\n action,\n actionKey,\n queryVariables,\n parentComponent,\n userPropsToDisplay,\n handleOnSuccess,\n ...eventProps\n}) => {\n const { asPath } = router;\n const [currentLocation, setCurrentLocation] = useState('');\n const { data = {}, error, loading } = useQuery(action, queryVariables);\n const hasUserProps = userPropsToDisplay && userPropsToDisplay.length;\n const userProps = hasUserProps ? buildUserQueryProps(userPropsToDisplay) : '';\n const { data: userData, loading: userLoading } = useQuery(getCurrentUser(userProps), {\n variables: {},\n skip: !hasUserProps\n });\n\n if (loading || userLoading || error) return null;\n const gtmData = data.entityData || data[actionKey];\n\n if (currentLocation !== asPath) {\n setCurrentLocation(asPath);\n return null;\n }\n\n const { eventTrigger, propsToDisplay, eventEcommerce } = eventProps;\n const dataLayerProps = buildDataLayer(gtmData, propsToDisplay);\n\n const dataLayerObject = buildNestedEvent(\n eventEcommerce,\n eventProps,\n dataLayerProps,\n parentComponent\n );\n const userLayerObject = buildUserLayer(userData, userPropsToDisplay);\n const extendedDataLayer = { ...dataLayerObject, ...userLayerObject };\n\n return (\n <GTMEvent\n dataLayerObject={extendedDataLayer}\n eventTrigger={eventTrigger}\n currentLocation={currentLocation}\n handleOnSuccess={handleOnSuccess}\n />\n );\n};\n\nGTMEventRender.propTypes = {\n userPropsToDisplay: PropTypes.array,\n router: PropTypes.object.isRequired,\n action: PropTypes.object.isRequired,\n actionKey: PropTypes.string.isRequired,\n queryVariables: PropTypes.object.isRequired,\n parentComponent: PropTypes.object.isRequired,\n handleOnSuccess: PropTypes.func\n};\n\nGTMEventRender.defaultProps = {\n userPropsToDisplay: [],\n handleOnSuccess: () => {}\n};\n\nGTMEventRender.defaultProps = {\n userPropsToDisplay: []\n};\n\nexport default withRouter(GTMEventRender);\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blaze-cms/plugin-gtm-fe",
|
|
3
|
-
"version": "0.146.0-
|
|
3
|
+
"version": "0.146.0-rc-eagle-3.0",
|
|
4
4
|
"description": "Blaze GTM plugin fe",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib-es/index.js",
|
|
7
|
-
"
|
|
7
|
+
"files": [
|
|
8
|
+
"lib",
|
|
9
|
+
"lib-es",
|
|
10
|
+
"src"
|
|
11
|
+
],
|
|
12
|
+
"source": "src/index.js",
|
|
8
13
|
"directories": {
|
|
9
14
|
"src": "src/"
|
|
10
15
|
},
|
|
@@ -27,23 +32,21 @@
|
|
|
27
32
|
},
|
|
28
33
|
"license": "GPL-3.0",
|
|
29
34
|
"dependencies": {
|
|
30
|
-
"@blaze-cms/core-auth-ui": "0.146.0-
|
|
31
|
-
"@blaze-cms/nextjs-components": "0.146.0-
|
|
32
|
-
"@blaze-cms/react-page-builder": "0.146.0-
|
|
33
|
-
"@blaze-cms/setup-ui": "0.146.0-
|
|
34
|
-
"core-js": "^3.2.1",
|
|
35
|
-
"regenerator-runtime": "^0.13.3",
|
|
35
|
+
"@blaze-cms/core-auth-ui": "0.146.0-rc-eagle-3.0",
|
|
36
|
+
"@blaze-cms/nextjs-components": "0.146.0-rc-eagle-3.0",
|
|
37
|
+
"@blaze-cms/react-page-builder": "0.146.0-rc-eagle-3.0",
|
|
38
|
+
"@blaze-cms/setup-ui": "0.146.0-rc-eagle-3.0",
|
|
36
39
|
"web-vitals": "^0.2.2"
|
|
37
40
|
},
|
|
38
41
|
"devDependencies": {
|
|
39
|
-
"@blaze-cms/core-ui": "0.146.0-
|
|
42
|
+
"@blaze-cms/core-ui": "0.146.0-rc-eagle-3.0"
|
|
40
43
|
},
|
|
41
44
|
"peerDependencies": {
|
|
42
|
-
"next": "14
|
|
45
|
+
"next": ">= 14"
|
|
43
46
|
},
|
|
44
47
|
"eslintIgnore": [
|
|
45
48
|
"lib/*",
|
|
46
49
|
"lib-es/*"
|
|
47
50
|
],
|
|
48
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "eeb5c91d33bae79f7605ffa99d8cbf430840e27a"
|
|
49
52
|
}
|
|
@@ -2,8 +2,7 @@ import { useState } from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useQuery } from '@apollo/client';
|
|
4
4
|
import { withRouter } from 'next/router';
|
|
5
|
-
import {
|
|
6
|
-
import { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';
|
|
5
|
+
import { getCurrentUser } from '@blaze-cms/react-page-builder';
|
|
7
6
|
import {
|
|
8
7
|
buildDataLayer,
|
|
9
8
|
buildAndPushWebVitals,
|
|
@@ -19,11 +18,10 @@ const GTMRender = ({ router, action, propsToDisplay, parentId, webVitals, userPr
|
|
|
19
18
|
const { data, error, loading } = useQuery(action, {
|
|
20
19
|
variables: { id: parentId }
|
|
21
20
|
});
|
|
22
|
-
const
|
|
23
|
-
const hasUserProps = userId && userPropsToDisplay && userPropsToDisplay.length;
|
|
21
|
+
const hasUserProps = userPropsToDisplay && userPropsToDisplay.length;
|
|
24
22
|
const userProps = hasUserProps ? buildUserQueryProps(userPropsToDisplay) : '';
|
|
25
|
-
const { data: userData, loading: userLoading } = useQuery(
|
|
26
|
-
variables: {
|
|
23
|
+
const { data: userData, loading: userLoading } = useQuery(getCurrentUser(userProps), {
|
|
24
|
+
variables: {},
|
|
27
25
|
skip: !hasUserProps
|
|
28
26
|
});
|
|
29
27
|
|
|
@@ -2,7 +2,8 @@ import React from 'react';
|
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useQuery } from '@apollo/client';
|
|
4
4
|
import { checkIfLoggedIn } from '@blaze-cms/core-auth-ui';
|
|
5
|
-
import {
|
|
5
|
+
import { getCurrentUser } from '@blaze-cms/react-page-builder';
|
|
6
|
+
|
|
6
7
|
import GTMEvent from './GTMEvent';
|
|
7
8
|
import { buildDataLayer, buildNestedEvent, buildUserQueryProps, buildUserLayer } from '../helpers';
|
|
8
9
|
|
|
@@ -10,7 +11,7 @@ const GTMClickEvent = ({ event, componentProps, parentComponent }) => {
|
|
|
10
11
|
const { eventTrigger, propsToDisplay, userPropsToDisplay, eventEcommerce } = event;
|
|
11
12
|
const { id: userId } = checkIfLoggedIn();
|
|
12
13
|
const userProps = userId ? buildUserQueryProps(userPropsToDisplay) : '';
|
|
13
|
-
const { data: userData, loading } = useQuery(
|
|
14
|
+
const { data: userData, loading } = useQuery(getCurrentUser(userProps), {
|
|
14
15
|
variables: { id: userId },
|
|
15
16
|
skip: !userId
|
|
16
17
|
});
|
|
@@ -12,15 +12,19 @@ const GTMEvent = ({ dataLayerObject, eventTrigger, currentLocation, handleOnSucc
|
|
|
12
12
|
useEffect(() => {
|
|
13
13
|
setShouldPushLayer(true);
|
|
14
14
|
}, [currentLocation]);
|
|
15
|
+
|
|
15
16
|
const pushDataLayer = () => {
|
|
16
17
|
pushToDataLayer(dataLayerObject);
|
|
17
18
|
setShouldPushLayer(false);
|
|
18
19
|
if (isOnSuccess) handleOnSuccess();
|
|
19
20
|
};
|
|
20
21
|
|
|
21
|
-
if (!isViewEvent && shouldPushLayer)
|
|
22
|
+
if (!isViewEvent && shouldPushLayer) {
|
|
23
|
+
pushDataLayer();
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
22
26
|
|
|
23
|
-
return
|
|
27
|
+
return isViewEvent && shouldPushLayer ? <Waypoint onEnter={pushDataLayer} /> : null;
|
|
24
28
|
};
|
|
25
29
|
|
|
26
30
|
GTMEvent.propTypes = {
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import { useQuery } from '@apollo/client';
|
|
4
|
-
import {
|
|
5
|
-
import { getUser } from '@blaze-cms/react-page-builder';
|
|
4
|
+
import { getCurrentUser } from '@blaze-cms/react-page-builder';
|
|
6
5
|
import { withRouter } from 'next/router';
|
|
7
6
|
import GTMEvent from './GTMEvent';
|
|
8
7
|
import { buildDataLayer, buildNestedEvent, buildUserQueryProps, buildUserLayer } from '../helpers';
|
|
@@ -20,11 +19,10 @@ const GTMEventRender = ({
|
|
|
20
19
|
const { asPath } = router;
|
|
21
20
|
const [currentLocation, setCurrentLocation] = useState('');
|
|
22
21
|
const { data = {}, error, loading } = useQuery(action, queryVariables);
|
|
23
|
-
const
|
|
24
|
-
const hasUserProps = userId && userPropsToDisplay && userPropsToDisplay.length;
|
|
22
|
+
const hasUserProps = userPropsToDisplay && userPropsToDisplay.length;
|
|
25
23
|
const userProps = hasUserProps ? buildUserQueryProps(userPropsToDisplay) : '';
|
|
26
|
-
const { data: userData, loading: userLoading } = useQuery(
|
|
27
|
-
variables: {
|
|
24
|
+
const { data: userData, loading: userLoading } = useQuery(getCurrentUser(userProps), {
|
|
25
|
+
variables: {},
|
|
28
26
|
skip: !hasUserProps
|
|
29
27
|
});
|
|
30
28
|
|
package/babel.config.js
DELETED
package/jest.config.js
DELETED