Refactor CartHelper endpoint for edge case configurations.

This commit is contained in:
Pedro Silva 2023-09-01 14:19:29 +01:00
parent 2571d31ad8
commit 72e64ef922
No known key found for this signature in database
GPG key ID: E2EE20C0669D24B3

View file

@ -2,10 +2,19 @@ class CartHelper {
constructor(cartItemKeys = [])
{
this.endpoint = wc_cart_fragments_params.wc_ajax_url.toString().replace('%%endpoint%%', 'remove_from_cart');
this.cartItemKeys = cartItemKeys;
}
getEndpoint() {
let ajaxUrl = "/?wc-ajax=%%endpoint%%";
if ((typeof wc_cart_fragments_params !== 'undefined') && wc_cart_fragments_params.wc_ajax_url) {
ajaxUrl = wc_cart_fragments_params.wc_ajax_url;
}
return ajaxUrl.toString().replace('%%endpoint%%', 'remove_from_cart');
}
addFromPurchaseUnits(purchaseUnits) {
for (const purchaseUnit of purchaseUnits || []) {
for (const item of purchaseUnit.items || []) {
@ -46,7 +55,7 @@ class CartHelper {
continue;
}
fetch(this.endpoint, {
fetch(this.getEndpoint(), {
method: 'POST',
credentials: 'same-origin',
body: params