From c5e8a85acf6bd8a422f2b93ca8ec8df20f92b1ed Mon Sep 17 00:00:00 2001
From: Philipp Stracker
Date: Wed, 23 Oct 2024 18:11:09 +0200
Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20Rename=20store=20selectors?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Selectors now only differentiate between persistent or transient data
---
.../resources/js/data/onboarding/actions.js | 2 +-
.../ppcp-settings/resources/js/data/onboarding/hooks.js | 9 +++++----
.../resources/js/data/onboarding/resolvers.js | 2 +-
.../resources/js/data/onboarding/selectors.js | 9 +++++----
4 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/modules/ppcp-settings/resources/js/data/onboarding/actions.js b/modules/ppcp-settings/resources/js/data/onboarding/actions.js
index 4c4d971bb..8f4fb9b27 100644
--- a/modules/ppcp-settings/resources/js/data/onboarding/actions.js
+++ b/modules/ppcp-settings/resources/js/data/onboarding/actions.js
@@ -78,7 +78,7 @@ export function* persist() {
try {
const path = `${ NAMESPACE }/onboarding`;
- const data = select( STORE_NAME ).getOnboardingData();
+ const data = select( STORE_NAME ).getPersistentData();
yield updateIsSaving( true );
diff --git a/modules/ppcp-settings/resources/js/data/onboarding/hooks.js b/modules/ppcp-settings/resources/js/data/onboarding/hooks.js
index a1919af83..a613c3c1d 100644
--- a/modules/ppcp-settings/resources/js/data/onboarding/hooks.js
+++ b/modules/ppcp-settings/resources/js/data/onboarding/hooks.js
@@ -9,20 +9,21 @@ export const useOnboardingDetails = () => {
persist,
} = useDispatch( STORE_NAME );
+ // Transient accessors.
const isSaving = useSelect( ( select ) => {
- return select( STORE_NAME ).isSaving();
+ return select( STORE_NAME ).getTransientData().isSaving;
}, [] );
const onboardingStep = useSelect( ( select ) => {
- return select( STORE_NAME ).getOnboardingData().step || 0;
+ return select( STORE_NAME ).getPersistentData().step || 0;
}, [] );
const isSandboxMode = useSelect( ( select ) => {
- return select( STORE_NAME ).getOnboardingData().useSandbox;
+ return select( STORE_NAME ).getPersistentData().useSandbox;
}, [] );
const isManualConnectionMode = useSelect( ( select ) => {
- return select( STORE_NAME ).getOnboardingData().useManualConnection;
+ return select( STORE_NAME ).getPersistentData().useManualConnection;
}, [] );
const setDetailAndPersist = async ( setter, value ) => {
diff --git a/modules/ppcp-settings/resources/js/data/onboarding/resolvers.js b/modules/ppcp-settings/resources/js/data/onboarding/resolvers.js
index f57c515fe..eac8b6da9 100644
--- a/modules/ppcp-settings/resources/js/data/onboarding/resolvers.js
+++ b/modules/ppcp-settings/resources/js/data/onboarding/resolvers.js
@@ -7,7 +7,7 @@ import { updateOnboardingDetails } from './actions';
/**
* Retrieve settings from the site's REST API.
*/
-export function* getOnboardingData() {
+export function* getPersistentData() {
const path = `${ NAMESPACE }/onboarding`;
try {
diff --git a/modules/ppcp-settings/resources/js/data/onboarding/selectors.js b/modules/ppcp-settings/resources/js/data/onboarding/selectors.js
index 5d8812610..357ef963b 100644
--- a/modules/ppcp-settings/resources/js/data/onboarding/selectors.js
+++ b/modules/ppcp-settings/resources/js/data/onboarding/selectors.js
@@ -1,4 +1,4 @@
-const EMPTY_OBJ = {};
+const EMPTY_OBJ = Object.freeze( {} );
const getOnboardingState = ( state ) => {
if ( ! state ) {
@@ -8,10 +8,11 @@ const getOnboardingState = ( state ) => {
return state.onboarding || EMPTY_OBJ;
};
-export const getOnboardingData = ( state ) => {
+export const getPersistentData = ( state ) => {
return getOnboardingState( state ).data || EMPTY_OBJ;
};
-export const isSaving = ( state ) => {
- return getOnboardingState( state ).isSaving || false;
+export const getTransientData = ( state ) => {
+ const { data, ...transientState } = getOnboardingState( state );
+ return transientState || EMPTY_OBJ;
};