From 8e2db232b8f9512c0ebb7c9ee3489bd299d89c17 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Tue, 22 Aug 2023 17:45:25 +0200 Subject: [PATCH 1/2] 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 ? ( From 45f8a95e10687360437ff850549f6090ceb115e3 Mon Sep 17 00:00:00 2001 From: Camila Belo Date: Tue, 22 Aug 2023 17:56:21 +0200 Subject: [PATCH 2/2] docs: add changeset file Signed-off-by: Camila Belo --- .changeset/many-tips-attend.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/many-tips-attend.md diff --git a/.changeset/many-tips-attend.md b/.changeset/many-tips-attend.md new file mode 100644 index 0000000000..34b5898803 --- /dev/null +++ b/.changeset/many-tips-attend.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-search-react': patch +--- + +Optionally initializes the search context with default settings for search queries only when the config is defined, rather than always overriding it.