mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-05 08:59:14 +08:00
♻️ Rearrange code, minor change
This commit is contained in:
parent
8c578fff11
commit
4e9d588058
1 changed files with 35 additions and 32 deletions
|
@ -80,38 +80,6 @@ const useHooks = () => {
|
|||
};
|
||||
};
|
||||
|
||||
export const useBusyState = () => {
|
||||
const { startActivity, stopActivity } = useDispatch( STORE_NAME );
|
||||
|
||||
// Resolved value (object), contains a list of all running actions.
|
||||
const activities = useSelect(
|
||||
( select ) => select( STORE_NAME ).getActivityList(),
|
||||
[]
|
||||
);
|
||||
|
||||
// Derive isBusy state from activities
|
||||
const isBusy = Object.keys( activities ).length > 0;
|
||||
|
||||
// HOC that starts and stops an activity while the callback is executed.
|
||||
const withActivity = useCallback(
|
||||
async ( id, description, asyncFn ) => {
|
||||
startActivity( id, description );
|
||||
try {
|
||||
return await asyncFn();
|
||||
} finally {
|
||||
stopActivity( id );
|
||||
}
|
||||
},
|
||||
[ startActivity, stopActivity ]
|
||||
);
|
||||
|
||||
return {
|
||||
withActivity, // HOC
|
||||
isBusy, // Boolean.
|
||||
activities, // Object.
|
||||
};
|
||||
};
|
||||
|
||||
export const useSandbox = () => {
|
||||
const { isSandboxMode, setSandboxMode, connectToSandbox } = useHooks();
|
||||
|
||||
|
@ -148,5 +116,40 @@ export const useManualConnection = () => {
|
|||
|
||||
export const useWooSettings = () => {
|
||||
const { wooSettings } = useHooks();
|
||||
|
||||
return wooSettings;
|
||||
};
|
||||
|
||||
// -- Not using the `useHooks()` data provider --
|
||||
|
||||
export const useBusyState = () => {
|
||||
const { startActivity, stopActivity } = useDispatch( STORE_NAME );
|
||||
|
||||
// Resolved value (object), contains a list of all running actions.
|
||||
const activities = useSelect(
|
||||
( select ) => select( STORE_NAME ).getActivityList(),
|
||||
[]
|
||||
);
|
||||
|
||||
// Derive isBusy state from activities
|
||||
const isBusy = Object.keys( activities ).length > 0;
|
||||
|
||||
// HOC that starts and stops an activity while the callback is executed.
|
||||
const withActivity = useCallback(
|
||||
async ( id, description, asyncFn ) => {
|
||||
startActivity( id, description );
|
||||
try {
|
||||
return await asyncFn();
|
||||
} finally {
|
||||
stopActivity( id );
|
||||
}
|
||||
},
|
||||
[ startActivity, stopActivity ]
|
||||
);
|
||||
|
||||
return {
|
||||
withActivity, // HOC
|
||||
isBusy, // Boolean.
|
||||
activities, // Object.
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue