Merge trunk

This commit is contained in:
Emili Castells Guasch 2025-03-27 09:53:35 +01:00
commit e4ee46e6ee
129 changed files with 2459 additions and 887 deletions

View file

@ -1,7 +1,7 @@
import MiniCartBootstap from './modules/ContextBootstrap/MiniCartBootstap';
import SingleProductBootstap from './modules/ContextBootstrap/SingleProductBootstap';
import CartBootstrap from './modules/ContextBootstrap/CartBootstap';
import CheckoutBootstap from './modules/ContextBootstrap/CheckoutBootstap';
import MiniCartBootstrap from './modules/ContextBootstrap/MiniCartBootstrap';
import SingleProductBootstrap from './modules/ContextBootstrap/SingleProductBootstrap';
import CartBootstrap from './modules/ContextBootstrap/CartBootstrap';
import CheckoutBootstrap from './modules/ContextBootstrap/CheckoutBootstrap';
import PayNowBootstrap from './modules/ContextBootstrap/PayNowBootstrap';
import Renderer from './modules/Renderer/Renderer';
import ErrorHandler from './modules/ErrorHandler';
@ -23,7 +23,7 @@ import FormSaver from './modules/Helper/FormSaver';
import FormValidator from './modules/Helper/FormValidator';
import { loadPaypalScript } from './modules/Helper/ScriptLoading';
import buttonModuleWatcher from './modules/ButtonModuleWatcher';
import MessagesBootstrap from './modules/ContextBootstrap/MessagesBootstap';
import MessagesBootstrap from './modules/ContextBootstrap/MessagesBootstrap';
import { apmButtonsInit } from './modules/Helper/ApmButtons';
// TODO: could be a good idea to have a separate spinner for each gateway,
@ -246,7 +246,7 @@ const bootstrap = () => {
);
if ( PayPalCommerceGateway.mini_cart_buttons_enabled === '1' ) {
const miniCartBootstrap = new MiniCartBootstap(
const miniCartBootstrap = new MiniCartBootstrap(
PayPalCommerceGateway,
renderer,
errorHandler
@ -264,7 +264,7 @@ const bootstrap = () => {
( PayPalCommerceGateway.single_product_buttons_enabled === '1' ||
hasMessages() )
) {
const singleProductBootstrap = new SingleProductBootstap(
const singleProductBootstrap = new SingleProductBootstrap(
PayPalCommerceGateway,
renderer,
errorHandler
@ -289,17 +289,17 @@ const bootstrap = () => {
}
if ( context === 'checkout' ) {
const checkoutBootstap = new CheckoutBootstap(
const checkoutBootstrap = new CheckoutBootstrap(
PayPalCommerceGateway,
renderer,
spinner,
errorHandler
);
checkoutBootstap.init();
checkoutBootstrap.init();
buttonModuleWatcher.registerContextBootstrap(
'checkout',
checkoutBootstap
checkoutBootstrap
);
}

View file

@ -15,7 +15,7 @@ import {
dispatchButtonEvent,
} from '../Helper/PaymentButtonHelpers';
class CheckoutBootstap {
class CheckoutBootstrap {
constructor( gateway, renderer, spinner, errorHandler ) {
this.gateway = gateway;
this.renderer = renderer;
@ -344,4 +344,4 @@ class CheckoutBootstap {
}
}
export default CheckoutBootstap;
export default CheckoutBootstrap;

View file

@ -1,7 +1,7 @@
import CartActionHandler from '../ActionHandler/CartActionHandler';
import BootstrapHelper from '../Helper/BootstrapHelper';
class MiniCartBootstap {
class MiniCartBootstrap {
constructor( gateway, renderer, errorHandler ) {
this.gateway = gateway;
this.renderer = renderer;
@ -71,4 +71,4 @@ class MiniCartBootstap {
}
}
export default MiniCartBootstap;
export default MiniCartBootstrap;

View file

@ -1,7 +1,7 @@
import CheckoutBootstap from './CheckoutBootstap';
import CheckoutBootstrap from './CheckoutBootstrap';
import { isChangePaymentPage } from '../Helper/Subscriptions';
class PayNowBootstrap extends CheckoutBootstap {
class PayNowBootstrap extends CheckoutBootstrap {
constructor( gateway, renderer, spinner, errorHandler ) {
super( gateway, renderer, spinner, errorHandler );
}

View file

@ -9,7 +9,7 @@ import { strRemoveWord, strAddWord, throttle } from '../Helper/Utils';
import merge from 'deepmerge';
import { debounce } from '../../../../../ppcp-blocks/resources/js/Helper/debounce';
class SingleProductBootstap {
class SingleProductBootstrap {
constructor( gateway, renderer, errorHandler ) {
this.gateway = gateway;
this.renderer = renderer;
@ -162,6 +162,12 @@ class SingleProductBootstap {
},
]
.map( ( f ) => f() )
.sort((a, b) => {
if (parseInt(a.replace(/\D/g, '')) < parseInt(b.replace(/\D/g, '')) ) {
return 1;
}
return -1;
})
.find( ( val ) => val );
if ( typeof priceText === 'undefined' ) {
@ -368,4 +374,4 @@ class SingleProductBootstap {
}
}
export default SingleProductBootstap;
export default SingleProductBootstrap;

View file

@ -15,7 +15,7 @@ class PreviewButtonManager {
/**
* Resolves the promise.
* Used by `this.boostrap()` to process enqueued initialization logic.
* Used by `this.bootstrap()` to process enqueued initialization logic.
*/
#onInitResolver;

View file

@ -56,9 +56,9 @@ class CardFieldsRenderer {
onApprove( data ) {
return contextConfig.onApprove( data );
},
onError( error ) {
console.error( error );
this.spinner.unblock();
onError: ( error ) => {
console.error( error );
this.spinner.unblock();
},
} );
@ -105,11 +105,13 @@ class CardFieldsRenderer {
}
cardFields.submit().catch( ( error ) => {
this.spinner.unblock();
console.error( error );
this.errorHandler.message(
this.defaultConfig.hosted_fields.labels.fields_not_valid
);
this.spinner.unblock();
if (!error.type || error.type !== 'create-order-error') {
console.error( error );
this.errorHandler.message(
this.defaultConfig.hosted_fields.labels.fields_not_valid
);
}
} );
} );
}