Skip to content

Commit 1fcbeb0

Browse files
committed
MC-35103: Tracking Page Builder actions
- Refactor: Extract setupEventAttributes function
1 parent 98425b3 commit 1fcbeb0

File tree

1 file changed

+40
-35
lines changed
  • app/code/Magento/PageBuilderAdminAnalytics/view/adminhtml/web/js/page-builder

1 file changed

+40
-35
lines changed

app/code/Magento/PageBuilderAdminAnalytics/view/adminhtml/web/js/page-builder/events-mixin.js

Lines changed: 40 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@ define(['underscore'], function (_underscore) {
1010
var originalTarget = target.trigger,
1111
action = '',
1212
event,
13-
getAction,
14-
isAdminAnalyticsEnabled,
13+
eventData,
1514
hasVisibilityChanged,
16-
objectToCheck;
15+
isAdminAnalyticsEnabled,
16+
setupEventAttributes;
1717

1818
/**
1919
* Invokes custom code to track information regarding Page Builder usage
@@ -27,7 +27,6 @@ define(['underscore'], function (_underscore) {
2727
isAdminAnalyticsEnabled =
2828
!_underscore.isUndefined(window.digitalData) &&
2929
!_underscore.isUndefined(window._satellite);
30-
objectToCheck = '';
3130

3231
if (name.indexOf('readyAfter') !== -1 && isAdminAnalyticsEnabled) {
3332
window.digitalData.page.url = window.location.href;
@@ -37,62 +36,68 @@ define(['underscore'], function (_underscore) {
3736
window._satellite.track('page');
3837
}
3938

40-
console.log("antes", name);
41-
action = getAction(name, args);
42-
43-
if (objectToCheck === '') objectToCheck = args.contentType;
39+
setupEventAttributes(name, args);
4440

45-
if (!_underscore.isUndefined(args) && !_underscore.isUndefined(args.contentType) &&
46-
!_underscore.isUndefined(objectToCheck.config) && action !== ''
47-
) {
48-
console.log('justo antes de event');
41+
if (action !== '' && !_underscore.isEmpty(eventData)) {
4942
event = {
50-
element: objectToCheck.config.label,
51-
type: objectToCheck.config.name,
43+
element: eventData.label,
44+
type: eventData.name,
5245
action: action,
5346
widget: {
54-
name: objectToCheck.config.form,
55-
type: objectToCheck.config.menu_section
47+
name: eventData.form,
48+
type: eventData.menu_section
5649
},
5750
feature: 'page-builder-tracker'
5851
};
5952

60-
console.log('dentro', event);
61-
6253
if (isAdminAnalyticsEnabled && !_underscore.isUndefined(window.digitalData.event)) {
6354
window.digitalData.event.push(event);
6455
window._satellite.track('event');
6556
}
6657
}
6758
};
6859

69-
getAction = function (name, args) {
70-
var triggeredAction = '',
71-
arrayName,
60+
setupEventAttributes = function (name, args) {
61+
var arrayName = name.split(':'),
7262
arrayNameObject;
7363

74-
if (name.indexOf('duplicateAfter') !== -1) triggeredAction = 'duplicate';
64+
action = '';
65+
eventData = {};
7566

76-
if (name.indexOf('removeAfter') !== -1) triggeredAction = 'remove';
67+
if (_underscore.isUndefined(args)) {
68+
return;
69+
}
7770

78-
if (name.indexOf('createAfter') !== -1) triggeredAction = 'create';
71+
if (arrayName.length === 3) {
72+
arrayNameObject = arrayName[1];
73+
action = hasVisibilityChanged(args[arrayNameObject]) ? 'hide/show' : '';
74+
eventData =
75+
!_underscore.isUndefined(args[arrayNameObject]) &&
76+
!_underscore.isUndefined(args[arrayNameObject].config) ?
77+
args[arrayNameObject].config : {};
78+
} else if (arrayName.length === 2) {
79+
if (name.indexOf('duplicateAfter') !== -1) {
80+
action = 'duplicate';
81+
eventData =
82+
!_underscore.isUndefined(args.originalContentType) &&
83+
!_underscore.isUndefined(args.originalContentType.config) ?
84+
args.originalContentType.config : {};
85+
}
7986

80-
if (name.indexOf('renderAfter') !== -1) triggeredAction = 'edit';
87+
if (name.indexOf('removeAfter') !== -1) action = 'remove';
8188

82-
if (name.indexOf('updateAfter') !== -1) {
83-
arrayName = name.split(':');
89+
if (name.indexOf('createAfter') !== -1) action = 'create';
8490

85-
if (arrayName.length === 3) {
86-
arrayNameObject = arrayName[1];
87-
triggeredAction = hasVisibilityChanged(args[arrayNameObject]) ? 'hide/show': '';
88-
objectToCheck = args[arrayNameObject];
89-
}
90-
}
91+
if (name.indexOf('renderAfter') !== -1) action = 'edit';
9192

92-
return triggeredAction;
93+
eventData =
94+
!_underscore.isUndefined(args.contentType) &&
95+
!_underscore.isUndefined(args.contentType.config) ?
96+
args.contentType.config : {};
97+
}
9398
};
9499

95-
hasVisibilityChanged = function(objectWrapper) {
100+
hasVisibilityChanged = function (objectWrapper) {
96101
var state,
97102
previousState;
98103

0 commit comments

Comments
 (0)