From 8e2db232b8f9512c0ebb7c9ee3489bd299d89c17 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Tue, 22 Aug 2023 17:45:25 +0200 Subject: [PATCH] refactor(search-react): optionally initialize search context from config Signed-off-by: Camila Belo --- .../search-react/src/context/SearchContext.tsx | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/plugins/search-react/src/context/SearchContext.tsx b/plugins/search-react/src/context/SearchContext.tsx index add62b39df..f6fe08e866 100644 --- a/plugins/search-react/src/context/SearchContext.tsx +++ b/plugins/search-react/src/context/SearchContext.tsx @@ -102,7 +102,7 @@ export const useSearchContextCheck = () => { * The initial state of `SearchContextProvider`. * */ -const searchInitialState: SearchContextState = { +const defaultInitialSearchState: SearchContextState = { term: '', types: [], filters: {}, @@ -111,7 +111,7 @@ const searchInitialState: SearchContextState = { }; const useSearchContextValue = ( - initialValue: SearchContextState = searchInitialState, + initialValue: SearchContextState = defaultInitialSearchState, ) => { const searchApi = useApi(searchApiRef); @@ -245,12 +245,16 @@ export const SearchContextProvider = (props: SearchContextProviderProps) => { const configApi = useApi(configApiRef); + const propsInitialSearchState = initialState ?? {}; + + const configInitialSearchState = configApi.has('search.query.pageLimit') + ? { pageLimit: configApi.getNumber('search.query.pageLimit') } + : {}; + const searchContextInitialState = { - ...searchInitialState, - ...(initialState || {}), - pageLimit: - configApi.getOptionalNumber('search.query.pageLimit') || - initialState?.pageLimit, + ...defaultInitialSearchState, + ...propsInitialSearchState, + ...configInitialSearchState, }; return hasParentContext && inheritParentContextIfAvailable ? (