refactor(search-react): optionally initialize search context from config

Signed-off-by: Camila Belo <camilaibs@gmail.com>
This commit is contained in:
Camila Belo
2023-08-22 17:45:25 +02:00
parent aa66a0bde0
commit 8e2db232b8
@@ -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 ? (