@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,55 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.array.iterator.js");
|
|
4
|
-
require("core-js/modules/es.object.define-property.js");
|
|
5
|
-
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
6
|
-
require("core-js/modules/es.object.to-string.js");
|
|
7
|
-
require("core-js/modules/es.string.iterator.js");
|
|
8
|
-
require("core-js/modules/es.weak-map.js");
|
|
9
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
11
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
12
4
|
Object.defineProperty(exports, "__esModule", {
|
|
13
5
|
value: true
|
|
14
6
|
});
|
|
15
|
-
exports
|
|
16
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
7
|
+
exports.default = void 0;
|
|
17
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
18
9
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
10
|
var _reactWaypoint = require("react-waypoint");
|
|
20
11
|
var _helpers = require("../helpers");
|
|
21
12
|
var _constants = require("../constants");
|
|
22
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function
|
|
23
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
var isOnSuccess = eventTrigger === _constants.ON_SUCCESS && !!handleOnSuccess;
|
|
35
|
-
(0, _react.useEffect)(function () {
|
|
13
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
+
const GTMEvent = ({
|
|
16
|
+
dataLayerObject,
|
|
17
|
+
eventTrigger,
|
|
18
|
+
currentLocation,
|
|
19
|
+
handleOnSuccess
|
|
20
|
+
}) => {
|
|
21
|
+
const [shouldPushLayer, setShouldPushLayer] = (0, _react.useState)(false);
|
|
22
|
+
const isViewEvent = eventTrigger === _constants.IN_VIEW;
|
|
23
|
+
const isOnSuccess = eventTrigger === _constants.ON_SUCCESS && !!handleOnSuccess;
|
|
24
|
+
(0, _react.useEffect)(() => {
|
|
36
25
|
setShouldPushLayer(true);
|
|
37
26
|
}, [currentLocation]);
|
|
38
|
-
|
|
27
|
+
const pushDataLayer = () => {
|
|
39
28
|
(0, _helpers.pushToDataLayer)(dataLayerObject);
|
|
40
29
|
setShouldPushLayer(false);
|
|
41
30
|
if (isOnSuccess) handleOnSuccess();
|
|
42
31
|
};
|
|
43
|
-
if (!isViewEvent && shouldPushLayer)
|
|
44
|
-
|
|
32
|
+
if (!isViewEvent && shouldPushLayer) {
|
|
33
|
+
pushDataLayer();
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return isViewEvent && shouldPushLayer ? /*#__PURE__*/_react.default.createElement(_reactWaypoint.Waypoint, {
|
|
45
37
|
onEnter: pushDataLayer
|
|
46
|
-
})
|
|
38
|
+
}) : null;
|
|
47
39
|
};
|
|
48
40
|
GTMEvent.propTypes = {
|
|
49
|
-
handleOnSuccess: _propTypes
|
|
50
|
-
dataLayerObject: _propTypes
|
|
51
|
-
eventTrigger: _propTypes
|
|
52
|
-
currentLocation: _propTypes
|
|
41
|
+
handleOnSuccess: _propTypes.default.func.isRequired,
|
|
42
|
+
dataLayerObject: _propTypes.default.object.isRequired,
|
|
43
|
+
eventTrigger: _propTypes.default.string.isRequired,
|
|
44
|
+
currentLocation: _propTypes.default.string.isRequired
|
|
53
45
|
};
|
|
54
|
-
var _default = exports
|
|
46
|
+
var _default = exports.default = GTMEvent;
|
|
55
47
|
//# sourceMappingURL=GTMEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GTMEvent.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_reactWaypoint","_helpers","_constants","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","
|
|
1
|
+
{"version":3,"file":"GTMEvent.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_reactWaypoint","_helpers","_constants","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","GTMEvent","dataLayerObject","eventTrigger","currentLocation","handleOnSuccess","shouldPushLayer","setShouldPushLayer","useState","isViewEvent","IN_VIEW","isOnSuccess","ON_SUCCESS","useEffect","pushDataLayer","pushToDataLayer","createElement","Waypoint","onEnter","propTypes","PropTypes","func","isRequired","object","string","_default","exports"],"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":"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","ignoreList":[]}
|
|
@@ -1,24 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.array.iterator.js");
|
|
4
|
-
require("core-js/modules/es.object.define-property.js");
|
|
5
|
-
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
6
|
-
require("core-js/modules/es.string.iterator.js");
|
|
7
|
-
require("core-js/modules/es.weak-map.js");
|
|
8
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
9
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
10
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
11
4
|
Object.defineProperty(exports, "__esModule", {
|
|
12
5
|
value: true
|
|
13
6
|
});
|
|
14
|
-
exports
|
|
7
|
+
exports.default = void 0;
|
|
15
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
16
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
-
require("core-js/modules/es.array.concat.js");
|
|
18
|
-
require("core-js/modules/es.array.is-array.js");
|
|
19
|
-
require("core-js/modules/es.array.map.js");
|
|
20
|
-
require("core-js/modules/es.object.to-string.js");
|
|
21
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
22
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
23
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
24
12
|
var _client = require("@apollo/client");
|
|
@@ -27,47 +15,50 @@ var _nextjsComponents = require("@blaze-cms/nextjs-components");
|
|
|
27
15
|
var _GTMEventRender = _interopRequireDefault(require("./GTMEventRender"));
|
|
28
16
|
var _helpers = require("../helpers");
|
|
29
17
|
var _constants = require("../constants");
|
|
30
|
-
|
|
31
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function
|
|
32
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
18
|
+
const _excluded = ["propsToDisplay"];
|
|
19
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
20
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
21
|
+
const GTMEventFactory = ({
|
|
22
|
+
parent,
|
|
23
|
+
gtmEvents,
|
|
24
|
+
parentData,
|
|
25
|
+
clickId,
|
|
26
|
+
parentComponent
|
|
27
|
+
}) => {
|
|
28
|
+
const {
|
|
29
|
+
isPreview
|
|
30
|
+
} = (0, _react.useContext)(_nextjsComponents.MainContext);
|
|
31
|
+
const [{
|
|
32
|
+
itemEntity = parent.itemEntity
|
|
33
|
+
} = {}] = parentData || [];
|
|
34
|
+
const {
|
|
35
|
+
data,
|
|
36
|
+
error,
|
|
37
|
+
loading
|
|
38
|
+
} = (0, _client.useQuery)(_reactPageBuilder.getSingleEntitySchema, {
|
|
39
|
+
variables: {
|
|
40
|
+
id: itemEntity
|
|
41
|
+
}
|
|
42
|
+
});
|
|
55
43
|
if (loading || error || !data) return null;
|
|
56
|
-
return gtmEvents.map(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
44
|
+
return gtmEvents.map((_ref, i) => {
|
|
45
|
+
let {
|
|
46
|
+
propsToDisplay
|
|
47
|
+
} = _ref,
|
|
48
|
+
eventProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
49
|
+
const hasNoPropsToDisplay = !propsToDisplay || !propsToDisplay.length;
|
|
50
|
+
const propsToDisplayArr = (0, _helpers.buildPropsToDisplayArray)(propsToDisplay);
|
|
51
|
+
const extraProps = hasNoPropsToDisplay ? '' : (0, _reactPageBuilder.buildPropsQuery)(data, propsToDisplayArr);
|
|
52
|
+
const shouldUseParentData = !clickId && parentData && parentData.length;
|
|
53
|
+
const itemIdToUse = clickId || parent.itemId;
|
|
54
|
+
const itemId = shouldUseParentData ? (0, _helpers.getIdsToUse)(parentData) : itemIdToUse;
|
|
55
|
+
const shouldUseMultiQuery = Array.isArray(itemId);
|
|
56
|
+
const {
|
|
57
|
+
action,
|
|
58
|
+
actionKey
|
|
59
|
+
} = (0, _helpers.getRenderProps)(extraProps, isPreview, data, shouldUseMultiQuery);
|
|
60
|
+
const dynamicKey = `${_constants.GTM_EVENT_FACTORY}${i}`;
|
|
61
|
+
const queryVariables = shouldUseMultiQuery ? {
|
|
71
62
|
variables: {
|
|
72
63
|
where: {
|
|
73
64
|
id: {
|
|
@@ -82,7 +73,7 @@ var GTMEventFactory = function GTMEventFactory(_ref) {
|
|
|
82
73
|
},
|
|
83
74
|
skip: hasNoPropsToDisplay
|
|
84
75
|
};
|
|
85
|
-
return /*#__PURE__*/_react
|
|
76
|
+
return /*#__PURE__*/_react.default.createElement(_GTMEventRender.default, (0, _extends2.default)({
|
|
86
77
|
key: dynamicKey,
|
|
87
78
|
action: action,
|
|
88
79
|
actionKey: actionKey,
|
|
@@ -94,11 +85,11 @@ var GTMEventFactory = function GTMEventFactory(_ref) {
|
|
|
94
85
|
});
|
|
95
86
|
};
|
|
96
87
|
GTMEventFactory.propTypes = {
|
|
97
|
-
parent: _propTypes
|
|
98
|
-
clickId: _propTypes
|
|
99
|
-
gtmEvents: _propTypes
|
|
100
|
-
parentData: _propTypes
|
|
101
|
-
parentComponent: _propTypes
|
|
88
|
+
parent: _propTypes.default.object.isRequired,
|
|
89
|
+
clickId: _propTypes.default.string,
|
|
90
|
+
gtmEvents: _propTypes.default.array,
|
|
91
|
+
parentData: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.array]),
|
|
92
|
+
parentComponent: _propTypes.default.object
|
|
102
93
|
};
|
|
103
94
|
GTMEventFactory.defaultProps = {
|
|
104
95
|
clickId: null,
|
|
@@ -106,5 +97,5 @@ GTMEventFactory.defaultProps = {
|
|
|
106
97
|
parentData: null,
|
|
107
98
|
parentComponent: {}
|
|
108
99
|
};
|
|
109
|
-
var _default = exports
|
|
100
|
+
var _default = exports.default = GTMEventFactory;
|
|
110
101
|
//# sourceMappingURL=GTMEventFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GTMEventFactory.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_client","_reactPageBuilder","_nextjsComponents","_GTMEventRender","_helpers","_constants","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","
|
|
1
|
+
{"version":3,"file":"GTMEventFactory.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_client","_reactPageBuilder","_nextjsComponents","_GTMEventRender","_helpers","_constants","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","GTMEventFactory","parent","gtmEvents","parentData","clickId","parentComponent","isPreview","useContext","MainContext","itemEntity","data","error","loading","useQuery","getSingleEntitySchema","variables","id","map","_ref","propsToDisplay","eventProps","_objectWithoutProperties2","hasNoPropsToDisplay","length","propsToDisplayArr","buildPropsToDisplayArray","extraProps","buildPropsQuery","shouldUseParentData","itemIdToUse","itemId","getIdsToUse","shouldUseMultiQuery","Array","isArray","action","actionKey","getRenderProps","dynamicKey","GTM_EVENT_FACTORY","queryVariables","where","_in","skip","createElement","_extends2","key","propTypes","PropTypes","object","isRequired","string","array","oneOfType","defaultProps","_default","exports"],"sources":["../../src/GoogleTagManagerEvent/GTMEventFactory.js"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\nimport { getSingleEntitySchema, buildPropsQuery } from '@blaze-cms/react-page-builder';\nimport { MainContext } from '@blaze-cms/nextjs-components';\nimport GTMEventRender from './GTMEventRender';\nimport { getRenderProps, getIdsToUse, buildPropsToDisplayArray } from '../helpers';\nimport { GTM_EVENT_FACTORY } from '../constants';\n\nconst GTMEventFactory = ({ parent, gtmEvents, parentData, clickId, parentComponent }) => {\n const { isPreview } = useContext(MainContext);\n const [{ itemEntity = parent.itemEntity } = {}] = parentData || [];\n const { data, error, loading } = useQuery(getSingleEntitySchema, {\n variables: { id: itemEntity }\n });\n\n if (loading || error || !data) return null;\n\n return gtmEvents.map(({ propsToDisplay, ...eventProps }, i) => {\n const hasNoPropsToDisplay = !propsToDisplay || !propsToDisplay.length;\n const propsToDisplayArr = buildPropsToDisplayArray(propsToDisplay);\n const extraProps = hasNoPropsToDisplay ? '' : buildPropsQuery(data, propsToDisplayArr);\n const shouldUseParentData = !clickId && parentData && parentData.length;\n const itemIdToUse = clickId || parent.itemId;\n const itemId = shouldUseParentData ? getIdsToUse(parentData) : itemIdToUse;\n const shouldUseMultiQuery = Array.isArray(itemId);\n const { action, actionKey } = getRenderProps(extraProps, isPreview, data, shouldUseMultiQuery);\n const dynamicKey = `${GTM_EVENT_FACTORY}${i}`;\n const queryVariables = shouldUseMultiQuery\n ? {\n variables: { where: { id: { _in: itemId } } },\n skip: hasNoPropsToDisplay\n }\n : {\n variables: { id: itemId },\n skip: hasNoPropsToDisplay\n };\n\n return (\n <GTMEventRender\n key={dynamicKey}\n action={action}\n actionKey={actionKey}\n propsToDisplay={propsToDisplay}\n id={itemId}\n queryVariables={queryVariables}\n parentComponent={parentComponent}\n {...eventProps}\n />\n );\n });\n};\n\nGTMEventFactory.propTypes = {\n parent: PropTypes.object.isRequired,\n clickId: PropTypes.string,\n gtmEvents: PropTypes.array,\n parentData: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n parentComponent: PropTypes.object\n};\n\nGTMEventFactory.defaultProps = {\n clickId: null,\n gtmEvents: [],\n parentData: null,\n parentComponent: {}\n};\n\nexport default GTMEventFactory;\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,iBAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAR,OAAA;AAAiD,MAAAS,SAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAZ,wBAAAY,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEjD,MAAMW,eAAe,GAAGA,CAAC;EAAEC,MAAM;EAAEC,SAAS;EAAEC,UAAU;EAAEC,OAAO;EAAEC;AAAgB,CAAC,KAAK;EACvF,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,iBAAU,EAACC,6BAAW,CAAC;EAC7C,MAAM,CAAC;IAAEC,UAAU,GAAGR,MAAM,CAACQ;EAAW,CAAC,GAAG,CAAC,CAAC,CAAC,GAAGN,UAAU,IAAI,EAAE;EAClE,MAAM;IAAEO,IAAI;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAG,IAAAC,gBAAQ,EAACC,uCAAqB,EAAE;IAC/DC,SAAS,EAAE;MAAEC,EAAE,EAAEP;IAAW;EAC9B,CAAC,CAAC;EAEF,IAAIG,OAAO,IAAID,KAAK,IAAI,CAACD,IAAI,EAAE,OAAO,IAAI;EAE1C,OAAOR,SAAS,CAACe,GAAG,CAAC,CAAAC,IAAA,EAAoCpB,CAAC,KAAK;IAAA,IAAzC;QAAEqB;MAA8B,CAAC,GAAAD,IAAA;MAAZE,UAAU,OAAAC,yBAAA,CAAAnC,OAAA,EAAAgC,IAAA,EAAAvC,SAAA;IACnD,MAAM2C,mBAAmB,GAAG,CAACH,cAAc,IAAI,CAACA,cAAc,CAACI,MAAM;IACrE,MAAMC,iBAAiB,GAAG,IAAAC,iCAAwB,EAACN,cAAc,CAAC;IAClE,MAAMO,UAAU,GAAGJ,mBAAmB,GAAG,EAAE,GAAG,IAAAK,iCAAe,EAACjB,IAAI,EAAEc,iBAAiB,CAAC;IACtF,MAAMI,mBAAmB,GAAG,CAACxB,OAAO,IAAID,UAAU,IAAIA,UAAU,CAACoB,MAAM;IACvE,MAAMM,WAAW,GAAGzB,OAAO,IAAIH,MAAM,CAAC6B,MAAM;IAC5C,MAAMA,MAAM,GAAGF,mBAAmB,GAAG,IAAAG,oBAAW,EAAC5B,UAAU,CAAC,GAAG0B,WAAW;IAC1E,MAAMG,mBAAmB,GAAGC,KAAK,CAACC,OAAO,CAACJ,MAAM,CAAC;IACjD,MAAM;MAAEK,MAAM;MAAEC;IAAU,CAAC,GAAG,IAAAC,uBAAc,EAACX,UAAU,EAAEpB,SAAS,EAAEI,IAAI,EAAEsB,mBAAmB,CAAC;IAC9F,MAAMM,UAAU,GAAG,GAAGC,4BAAiB,GAAGzC,CAAC,EAAE;IAC7C,MAAM0C,cAAc,GAAGR,mBAAmB,GACtC;MACEjB,SAAS,EAAE;QAAE0B,KAAK,EAAE;UAAEzB,EAAE,EAAE;YAAE0B,GAAG,EAAEZ;UAAO;QAAE;MAAE,CAAC;MAC7Ca,IAAI,EAAErB;IACR,CAAC,GACD;MACEP,SAAS,EAAE;QAAEC,EAAE,EAAEc;MAAO,CAAC;MACzBa,IAAI,EAAErB;IACR,CAAC;IAEL,oBACEtD,MAAA,CAAAkB,OAAA,CAAA0D,aAAA,CAACpE,eAAA,CAAAU,OAAc,MAAA2D,SAAA,CAAA3D,OAAA;MACb4D,GAAG,EAAER,UAAW;MAChBH,MAAM,EAAEA,MAAO;MACfC,SAAS,EAAEA,SAAU;MACrBjB,cAAc,EAAEA,cAAe;MAC/BH,EAAE,EAAEc,MAAO;MACXU,cAAc,EAAEA,cAAe;MAC/BnC,eAAe,EAAEA;IAAgB,GAC7Be,UAAU,CACf,CAAC;EAEN,CAAC,CAAC;AACJ,CAAC;AAEDpB,eAAe,CAAC+C,SAAS,GAAG;EAC1B9C,MAAM,EAAE+C,kBAAS,CAACC,MAAM,CAACC,UAAU;EACnC9C,OAAO,EAAE4C,kBAAS,CAACG,MAAM;EACzBjD,SAAS,EAAE8C,kBAAS,CAACI,KAAK;EAC1BjD,UAAU,EAAE6C,kBAAS,CAACK,SAAS,CAAC,CAACL,kBAAS,CAACC,MAAM,EAAED,kBAAS,CAACI,KAAK,CAAC,CAAC;EACpE/C,eAAe,EAAE2C,kBAAS,CAACC;AAC7B,CAAC;AAEDjD,eAAe,CAACsD,YAAY,GAAG;EAC7BlD,OAAO,EAAE,IAAI;EACbF,SAAS,EAAE,EAAE;EACbC,UAAU,EAAE,IAAI;EAChBE,eAAe,EAAE,CAAC;AACpB,CAAC;AAAC,IAAAkD,QAAA,GAAAC,OAAA,CAAAtE,OAAA,GAEac,eAAe","ignoreList":[]}
|
|
@@ -1,86 +1,69 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.symbol.js");
|
|
4
|
-
require("core-js/modules/es.array.filter.js");
|
|
5
|
-
require("core-js/modules/es.array.for-each.js");
|
|
6
|
-
require("core-js/modules/es.array.iterator.js");
|
|
7
|
-
require("core-js/modules/es.object.define-properties.js");
|
|
8
|
-
require("core-js/modules/es.object.define-property.js");
|
|
9
|
-
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
|
-
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
11
|
-
require("core-js/modules/es.object.keys.js");
|
|
12
|
-
require("core-js/modules/es.object.to-string.js");
|
|
13
|
-
require("core-js/modules/es.string.iterator.js");
|
|
14
|
-
require("core-js/modules/es.weak-map.js");
|
|
15
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
16
|
-
require("core-js/modules/web.dom-collections.iterator.js");
|
|
17
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
18
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
19
4
|
Object.defineProperty(exports, "__esModule", {
|
|
20
5
|
value: true
|
|
21
6
|
});
|
|
22
|
-
exports
|
|
7
|
+
exports.default = void 0;
|
|
23
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
24
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
25
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
26
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
27
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
28
12
|
var _client = require("@apollo/client");
|
|
29
|
-
var _coreAuthUi = require("@blaze-cms/core-auth-ui");
|
|
30
13
|
var _reactPageBuilder = require("@blaze-cms/react-page-builder");
|
|
31
14
|
var _router = require("next/router");
|
|
32
15
|
var _GTMEvent = _interopRequireDefault(require("./GTMEvent"));
|
|
33
16
|
var _helpers = require("../helpers");
|
|
34
|
-
|
|
35
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function
|
|
36
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" !=
|
|
17
|
+
const _excluded = ["router", "action", "actionKey", "queryVariables", "parentComponent", "userPropsToDisplay", "handleOnSuccess"];
|
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
37
20
|
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; }
|
|
38
|
-
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) { (0, _defineProperty2
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
data =
|
|
56
|
-
error
|
|
57
|
-
loading
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
userData = _useQuery2.data,
|
|
69
|
-
userLoading = _useQuery2.loading;
|
|
21
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
22
|
+
const GTMEventRender = _ref => {
|
|
23
|
+
let {
|
|
24
|
+
router,
|
|
25
|
+
action,
|
|
26
|
+
actionKey,
|
|
27
|
+
queryVariables,
|
|
28
|
+
parentComponent,
|
|
29
|
+
userPropsToDisplay,
|
|
30
|
+
handleOnSuccess
|
|
31
|
+
} = _ref,
|
|
32
|
+
eventProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
33
|
+
const {
|
|
34
|
+
asPath
|
|
35
|
+
} = router;
|
|
36
|
+
const [currentLocation, setCurrentLocation] = (0, _react.useState)('');
|
|
37
|
+
const {
|
|
38
|
+
data = {},
|
|
39
|
+
error,
|
|
40
|
+
loading
|
|
41
|
+
} = (0, _client.useQuery)(action, queryVariables);
|
|
42
|
+
const hasUserProps = userPropsToDisplay && userPropsToDisplay.length;
|
|
43
|
+
const userProps = hasUserProps ? (0, _helpers.buildUserQueryProps)(userPropsToDisplay) : '';
|
|
44
|
+
const {
|
|
45
|
+
data: userData,
|
|
46
|
+
loading: userLoading
|
|
47
|
+
} = (0, _client.useQuery)((0, _reactPageBuilder.getCurrentUser)(userProps), {
|
|
48
|
+
variables: {},
|
|
49
|
+
skip: !hasUserProps
|
|
50
|
+
});
|
|
70
51
|
if (loading || userLoading || error) return null;
|
|
71
|
-
|
|
52
|
+
const gtmData = data.entityData || data[actionKey];
|
|
72
53
|
if (currentLocation !== asPath) {
|
|
73
54
|
setCurrentLocation(asPath);
|
|
74
55
|
return null;
|
|
75
56
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
57
|
+
const {
|
|
58
|
+
eventTrigger,
|
|
59
|
+
propsToDisplay,
|
|
60
|
+
eventEcommerce
|
|
61
|
+
} = eventProps;
|
|
62
|
+
const dataLayerProps = (0, _helpers.buildDataLayer)(gtmData, propsToDisplay);
|
|
63
|
+
const dataLayerObject = (0, _helpers.buildNestedEvent)(eventEcommerce, eventProps, dataLayerProps, parentComponent);
|
|
64
|
+
const userLayerObject = (0, _helpers.buildUserLayer)(userData, userPropsToDisplay);
|
|
65
|
+
const extendedDataLayer = _objectSpread(_objectSpread({}, dataLayerObject), userLayerObject);
|
|
66
|
+
return /*#__PURE__*/_react.default.createElement(_GTMEvent.default, {
|
|
84
67
|
dataLayerObject: extendedDataLayer,
|
|
85
68
|
eventTrigger: eventTrigger,
|
|
86
69
|
currentLocation: currentLocation,
|
|
@@ -88,20 +71,20 @@ var GTMEventRender = function GTMEventRender(_ref) {
|
|
|
88
71
|
});
|
|
89
72
|
};
|
|
90
73
|
GTMEventRender.propTypes = {
|
|
91
|
-
userPropsToDisplay: _propTypes
|
|
92
|
-
router: _propTypes
|
|
93
|
-
action: _propTypes
|
|
94
|
-
actionKey: _propTypes
|
|
95
|
-
queryVariables: _propTypes
|
|
96
|
-
parentComponent: _propTypes
|
|
97
|
-
handleOnSuccess: _propTypes
|
|
74
|
+
userPropsToDisplay: _propTypes.default.array,
|
|
75
|
+
router: _propTypes.default.object.isRequired,
|
|
76
|
+
action: _propTypes.default.object.isRequired,
|
|
77
|
+
actionKey: _propTypes.default.string.isRequired,
|
|
78
|
+
queryVariables: _propTypes.default.object.isRequired,
|
|
79
|
+
parentComponent: _propTypes.default.object.isRequired,
|
|
80
|
+
handleOnSuccess: _propTypes.default.func
|
|
98
81
|
};
|
|
99
82
|
GTMEventRender.defaultProps = {
|
|
100
83
|
userPropsToDisplay: [],
|
|
101
|
-
handleOnSuccess:
|
|
84
|
+
handleOnSuccess: () => {}
|
|
102
85
|
};
|
|
103
86
|
GTMEventRender.defaultProps = {
|
|
104
87
|
userPropsToDisplay: []
|
|
105
88
|
};
|
|
106
|
-
var _default = exports
|
|
89
|
+
var _default = exports.default = (0, _router.withRouter)(GTMEventRender);
|
|
107
90
|
//# sourceMappingURL=GTMEventRender.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GTMEventRender.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_client","
|
|
1
|
+
{"version":3,"file":"GTMEventRender.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_client","_reactPageBuilder","_router","_GTMEvent","_helpers","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","GTMEventRender","_ref","router","action","actionKey","queryVariables","parentComponent","userPropsToDisplay","handleOnSuccess","eventProps","_objectWithoutProperties2","asPath","currentLocation","setCurrentLocation","useState","data","error","loading","useQuery","hasUserProps","userProps","buildUserQueryProps","userData","userLoading","getCurrentUser","variables","skip","gtmData","entityData","eventTrigger","propsToDisplay","eventEcommerce","dataLayerProps","buildDataLayer","dataLayerObject","buildNestedEvent","userLayerObject","buildUserLayer","extendedDataLayer","createElement","propTypes","PropTypes","array","object","isRequired","string","func","defaultProps","_default","exports","withRouter"],"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":[]}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.object.define-property.js");
|
|
4
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
7
|
+
exports.default = void 0;
|
|
9
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
10
|
var _react = _interopRequireDefault(require("react"));
|
|
@@ -13,33 +12,36 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
13
12
|
var _GTMClickEvents = _interopRequireDefault(require("./GTMClickEvents"));
|
|
14
13
|
var _GTMEventFactory = _interopRequireDefault(require("./GTMEventFactory"));
|
|
15
14
|
var _helpers = require("../helpers");
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
const _excluded = ["gtmEvents", "clickState", "clickId"];
|
|
16
|
+
const GTMEventSwitch = _ref => {
|
|
17
|
+
let {
|
|
18
|
+
gtmEvents,
|
|
19
|
+
clickState,
|
|
20
|
+
clickId
|
|
21
|
+
} = _ref,
|
|
22
|
+
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
22
23
|
if (typeof window === 'undefined' || !gtmEvents.length) return null;
|
|
23
|
-
|
|
24
|
-
clickEvents
|
|
25
|
-
regularEvents
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
const {
|
|
25
|
+
clickEvents,
|
|
26
|
+
regularEvents
|
|
27
|
+
} = (0, _helpers.filterGtmEvents)(gtmEvents);
|
|
28
|
+
const GTMClickFactory = clickId ? _GTMEventFactory.default : _GTMClickEvents.default;
|
|
29
|
+
return clickState ? /*#__PURE__*/_react.default.createElement(GTMClickFactory, (0, _extends2.default)({
|
|
28
30
|
gtmEvents: clickEvents,
|
|
29
31
|
clickId: clickId
|
|
30
|
-
}, props)) : /*#__PURE__*/_react
|
|
32
|
+
}, props)) : /*#__PURE__*/_react.default.createElement(_GTMEventFactory.default, (0, _extends2.default)({
|
|
31
33
|
gtmEvents: regularEvents
|
|
32
34
|
}, props));
|
|
33
35
|
};
|
|
34
36
|
GTMEventSwitch.propTypes = {
|
|
35
|
-
clickId: _propTypes
|
|
36
|
-
gtmEvents: _propTypes
|
|
37
|
-
clickState: _propTypes
|
|
37
|
+
clickId: _propTypes.default.string,
|
|
38
|
+
gtmEvents: _propTypes.default.array,
|
|
39
|
+
clickState: _propTypes.default.bool
|
|
38
40
|
};
|
|
39
41
|
GTMEventSwitch.defaultProps = {
|
|
40
42
|
clickId: null,
|
|
41
43
|
gtmEvents: [],
|
|
42
44
|
clickState: false
|
|
43
45
|
};
|
|
44
|
-
var _default = exports
|
|
46
|
+
var _default = exports.default = GTMEventSwitch;
|
|
45
47
|
//# sourceMappingURL=GTMEventSwitch.js.map
|