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,