mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-10 23:42:39 +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 { useState, useEffect } from '@wordpress/element';
|
||||||
import { log } from '../../../../ppcp-axo/resources/js/Helper/Debug';
|
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 usePayPalCommerceGateway = ( initialConfig ) => {
|
||||||
const [ isConfigLoaded, setIsConfigLoaded ] = useState( false );
|
const [ isConfigLoaded, setIsConfigLoaded ] = useState( false );
|
||||||
const [ ppcpConfig, setPpcpConfig ] = useState( initialConfig );
|
const [ ppcpConfig, setPpcpConfig ] = useState( initialConfig );
|
||||||
|
|
||||||
useEffect( () => {
|
useEffect( () => {
|
||||||
|
/**
|
||||||
|
* Function to load the PayPal Commerce Gateway configuration.
|
||||||
|
*/
|
||||||
const loadConfig = () => {
|
const loadConfig = () => {
|
||||||
if ( typeof window.PayPalCommerceGateway !== 'undefined' ) {
|
if ( typeof window.PayPalCommerceGateway !== 'undefined' ) {
|
||||||
setPpcpConfig( window.PayPalCommerceGateway );
|
setPpcpConfig( window.PayPalCommerceGateway );
|
||||||
|
@ -15,17 +24,22 @@ const usePayPalCommerceGateway = ( initialConfig ) => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Check if the DOM is still loading
|
||||||
if ( document.readyState === 'loading' ) {
|
if ( document.readyState === 'loading' ) {
|
||||||
|
// If it's loading, add an event listener for when the DOM is fully loaded
|
||||||
document.addEventListener( 'DOMContentLoaded', loadConfig );
|
document.addEventListener( 'DOMContentLoaded', loadConfig );
|
||||||
} else {
|
} else {
|
||||||
|
// If it's already loaded, call the loadConfig function immediately
|
||||||
loadConfig();
|
loadConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Cleanup function to remove the event listener
|
||||||
return () => {
|
return () => {
|
||||||
document.removeEventListener( 'DOMContentLoaded', loadConfig );
|
document.removeEventListener( 'DOMContentLoaded', loadConfig );
|
||||||
};
|
};
|
||||||
}, [] );
|
}, [] );
|
||||||
|
|
||||||
|
// Return the loaded configuration and the loading status
|
||||||
return { isConfigLoaded, ppcpConfig };
|
return { isConfigLoaded, ppcpConfig };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ import UnifiedScriptLoader from '../../../../ppcp-button/resources/js/modules/He
|
||||||
import { STORE_NAME } from '../stores/axoStore';
|
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 {string} namespace - Namespace for the PayPal script.
|
||||||
* @param {Object} ppcpConfig - Configuration object for PayPal script.
|
* @param {Object} ppcpConfig - Configuration object for PayPal script.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue