From 3f5f587e888abd68469f995c98774e5c5c5aa6d1 Mon Sep 17 00:00:00 2001 From: Philipp Stracker Date: Fri, 14 Feb 2025 17:45:31 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20First=20store-refresh=20action=20in?= =?UTF-8?q?=20payment=20store?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/js/data/payment/actions.js | 13 +++++++++++++ .../resources/js/data/payment/hooks.js | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/modules/ppcp-settings/resources/js/data/payment/actions.js b/modules/ppcp-settings/resources/js/data/payment/actions.js index 1107d5bfb..d8398795a 100644 --- a/modules/ppcp-settings/resources/js/data/payment/actions.js +++ b/modules/ppcp-settings/resources/js/data/payment/actions.js @@ -94,3 +94,16 @@ export function persist() { } ); }; } + +/** + * Thunk action creator. Forces a data refresh from the REST API, replacing the current Redux values. + * + * @return {Function} The thunk function. + */ +export function refresh() { + return ( { dispatch, select } ) => { + dispatch.invalidateResolutionForStoreSelector( 'persistentData' ); + + select.persistentData(); + }; +} diff --git a/modules/ppcp-settings/resources/js/data/payment/hooks.js b/modules/ppcp-settings/resources/js/data/payment/hooks.js index 7cbd81382..5a330f1b2 100644 --- a/modules/ppcp-settings/resources/js/data/payment/hooks.js +++ b/modules/ppcp-settings/resources/js/data/payment/hooks.js @@ -102,11 +102,12 @@ const useHooks = () => { export const useStore = () => { const { useTransient, dispatch } = useStoreData(); - const { persist, setPersistent, changePaymentSettings } = dispatch; + const { persist, refresh, setPersistent, changePaymentSettings } = dispatch; const [ isReady ] = useTransient( 'isReady' ); return { persist, + refresh, setPersistent, changePaymentSettings, isReady,