mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-05 08:59:14 +08:00
Update code comments
This commit is contained in:
parent
c3bc87b1a3
commit
eba3d12e4e
2 changed files with 15 additions and 1 deletions
|
@ -1,11 +1,20 @@
|
|||
import { useState, useEffect } from '@wordpress/element';
|
||||
import { log } from '../../../../ppcp-axo/resources/js/Helper/Debug';
|
||||
|
||||
/**
|
||||
* Custom hook to load and manage the PayPal Commerce Gateway configuration.
|
||||
*
|
||||
* @param {Object} initialConfig - Initial configuration object.
|
||||
* @return {Object} An object containing the loaded config and a boolean indicating if it's loaded.
|
||||
*/
|
||||
const usePayPalCommerceGateway = ( initialConfig ) => {
|
||||
const [ isConfigLoaded, setIsConfigLoaded ] = useState( false );
|
||||
const [ ppcpConfig, setPpcpConfig ] = useState( initialConfig );
|
||||
|
||||
useEffect( () => {
|
||||
/**
|
||||
* Function to load the PayPal Commerce Gateway configuration.
|
||||
*/
|
||||
const loadConfig = () => {
|
||||
if ( typeof window.PayPalCommerceGateway !== 'undefined' ) {
|
||||
setPpcpConfig( window.PayPalCommerceGateway );
|
||||
|
@ -15,17 +24,22 @@ const usePayPalCommerceGateway = ( initialConfig ) => {
|
|||
}
|
||||
};
|
||||
|
||||
// Check if the DOM is still loading
|
||||
if ( document.readyState === 'loading' ) {
|
||||
// If it's loading, add an event listener for when the DOM is fully loaded
|
||||
document.addEventListener( 'DOMContentLoaded', loadConfig );
|
||||
} else {
|
||||
// If it's already loaded, call the loadConfig function immediately
|
||||
loadConfig();
|
||||
}
|
||||
|
||||
// Cleanup function to remove the event listener
|
||||
return () => {
|
||||
document.removeEventListener( 'DOMContentLoaded', loadConfig );
|
||||
};
|
||||
}, [] );
|
||||
|
||||
// Return the loaded configuration and the loading status
|
||||
return { isConfigLoaded, ppcpConfig };
|
||||
};
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import UnifiedScriptLoader from '../../../../ppcp-button/resources/js/modules/He
|
|||
import { STORE_NAME } from '../stores/axoStore';
|
||||
|
||||
/**
|
||||
* Custom hook to load the PayPal script using UnifiedScriptLoader.
|
||||
* Custom hook to load the PayPal script.
|
||||
*
|
||||
* @param {string} namespace - Namespace for the PayPal script.
|
||||
* @param {Object} ppcpConfig - Configuration object for PayPal script.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue