Skip to content

Commit 1847e37

Browse files
committed
Make sure to trigger view_cart when collapsing minicart
1 parent dd65d19 commit 1847e37

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed

view/frontend/templates/hyva/script-additions.phtml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,4 +84,12 @@ $commons = $block->getCommonsViewModel();
8484
yireoGoogleTagManager2Pusher(attributes, 'dataLayer (initial js) [script-additions.phtml]');
8585
}
8686
});
87+
88+
window.addEventListener('toggle-cart', (event) => {
89+
if (!event.detail || !event.detail.isOpen) {
90+
return;
91+
}
92+
93+
window.dispatchEvent(new CustomEvent('minicart_collapse'));
94+
});
8795
</script>

view/frontend/templates/hyva/script-pusher.phtml

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
cb();
2323
}
2424

25-
25+
2626
const copyEventData = Object.assign({}, eventData);
2727
let metaData = {};
2828
if (copyEventData.meta) {
@@ -44,6 +44,20 @@
4444
return;
4545
}
4646

47+
if (metaData && metaData.allowed_events) {
48+
for (const [allowedEventKey, allowedEvent] of Object.entries(metaData.allowed_events)) {
49+
window.addEventListener(allowedEvent, function () {
50+
const eventDataCopy = Object.assign({}, eventData);
51+
eventDataCopy.meta.allowed_events = false;
52+
yireoGoogleTagManager2Pusher(eventDataCopy, 'push (allowed event "' + eventData.event + '") [script-pusher]');
53+
});
54+
}
55+
56+
yireoGoogleTagManager2Logger('Warning: Skipping event, not in allowed events', window.location.pathname, eventData);
57+
doCallback(callback);
58+
return;
59+
}
60+
4761
if (!message) {
4862
message = 'push (unknown) [unknown]';
4963
}

view/frontend/web/js/generic.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ define([
7676
logger('customerData section "' + sectionName + '" contains event "' + eventId + '"', eventData);
7777

7878
const metaData = Object.assign({}, eventData.meta);
79-
if (metaData && metaData.allowed_events && metaData.allowed_events.length > 0) {
79+
if (metaData && metaData.allowed_events) {
8080
for (const [allowedEventKey, allowedEvent] of Object.entries(metaData.allowed_events)) {
8181
$(window).on(allowedEvent, function () {
8282
pusher(eventData, 'push (allowed event "' + allowedEventKey + '") [generic.js]');

0 commit comments

Comments
 (0)