Skip to content

Commit 71255f9

Browse files
committed
added back/forward buttons tracking
1 parent 3b9a2b7 commit 71255f9

2 files changed

Lines changed: 50 additions & 2 deletions

File tree

vis/js/intermediate.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -422,8 +422,10 @@ function createFileChangeMiddleware() {
422422
function createRecordActionMiddleware() {
423423
return function ({ getState }) {
424424
return (next) => (action) => {
425-
const state = getState();
426-
logAction(action, state);
425+
if (!action.canceled) {
426+
const state = getState();
427+
logAction(action, state);
428+
}
427429
return next(action);
428430
};
429431
};

vis/js/utils/actionLogger.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,55 @@ const logAction = (action, state) => {
1818
// TODO trackSiteSearch ?
1919
// https://developer.matomo.org/guides/tracking-javascript-guide
2020
return trackMatomoEvent("List controls", "Search", "Search box");
21+
case "ZOOM_IN":
22+
return trackZoomIn(action, state);
23+
case "ZOOM_OUT":
24+
return trackZoomOut(action);
25+
case "SELECT_PAPER":
26+
return trackSelectPaper(action);
27+
case "DESELECT_PAPER":
28+
return trackDeselectPaper(action);
2129
default:
2230
return;
2331
}
2432
};
2533

2634
export default logAction;
35+
36+
const trackZoomIn = (action, state) => {
37+
if (!action.isFromBackButton) {
38+
return;
39+
}
40+
41+
if (action.selectedPaperData) {
42+
return trackSelectPaper(action);
43+
}
44+
45+
if (state.selectedPaper) {
46+
return trackDeselectPaper(action);
47+
}
48+
49+
trackMatomoEvent("Browser buttons", "Zoom in", "Back/Forward button");
50+
};
51+
52+
const trackZoomOut = (action) => {
53+
if (action.isFromBackButton) {
54+
trackMatomoEvent("Browser buttons", "Zoom out", "Back/Forward button");
55+
}
56+
};
57+
58+
const trackSelectPaper = (action) => {
59+
if (action.isFromBackButton) {
60+
trackMatomoEvent("Browser buttons", "Select paper", "Back/Forward button");
61+
}
62+
};
63+
64+
const trackDeselectPaper = (action) => {
65+
if (action.isFromBackButton) {
66+
trackMatomoEvent(
67+
"Browser buttons",
68+
"Deselect paper",
69+
"Back/Forward button"
70+
);
71+
}
72+
};

0 commit comments

Comments
 (0)