From c382b5cee19778e1c57bcf09ed344952ce859f4c Mon Sep 17 00:00:00 2001
From: Philipp Stracker
Date: Thu, 8 Aug 2024 20:36:16 +0200
Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20Fix=20incorrect=20event=20listen?=
=?UTF-8?q?ers?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../resources/js/modules/Helper/ButtonRefreshHelper.js | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/modules/ppcp-button/resources/js/modules/Helper/ButtonRefreshHelper.js b/modules/ppcp-button/resources/js/modules/Helper/ButtonRefreshHelper.js
index 3492462e7..7620547c0 100644
--- a/modules/ppcp-button/resources/js/modules/Helper/ButtonRefreshHelper.js
+++ b/modules/ppcp-button/resources/js/modules/Helper/ButtonRefreshHelper.js
@@ -26,8 +26,11 @@ export function setupButtonEvents( refresh ) {
document.addEventListener( REFRESH_BUTTON_EVENT, debouncedRefresh );
// Listen for cart and checkout update events.
- document.body.addEventListener( 'updated_cart_totals', debouncedRefresh );
- document.body.addEventListener( 'updated_checkout', debouncedRefresh );
+ // Note: we need jQuery here, because WooCommerce uses jQuery.trigger() to dispatch the events.
+ window
+ .jQuery( 'body' )
+ .on( 'updated_cart_totals', debouncedRefresh )
+ .on( 'updated_checkout', debouncedRefresh );
// Use setTimeout for fragment events to avoid unnecessary refresh on initial render.
setTimeout( () => {