diff --git a/public/app/features/browse-dashboards/components/RecentlyDeletedActions.tsx b/public/app/features/browse-dashboards/components/RecentlyDeletedActions.tsx index aac486a75ff..27db580b1b8 100644 --- a/public/app/features/browse-dashboards/components/RecentlyDeletedActions.tsx +++ b/public/app/features/browse-dashboards/components/RecentlyDeletedActions.tsx @@ -97,13 +97,6 @@ export function RecentlyDeletedActions() { return origins; }, [selectedDashboards, searchState.result]); - const onActionComplete = () => { - dispatch(setAllSelection({ isSelected: false, folderUID: undefined })); - - deletedDashboardsCache.clear(); - stateManager.doSearchWithDebounce(); - }; - const getErrorMessage = (error: unknown) => { if (error instanceof Error) { return error.message; @@ -168,9 +161,6 @@ export function RecentlyDeletedActions() { } }); - // Show consolidated notification - showRestoreNotifications(successful, failed); - const parentUIDs = new Set(); for (const uid of selectedDashboards) { const foundItem = resultsView.find((v) => v.uid === uid); @@ -183,8 +173,12 @@ export function RecentlyDeletedActions() { parentUIDs.add(folderUID); } dispatch(clearFolders(Array.from(parentUIDs))); + dispatch(setAllSelection({ isSelected: false, folderUID: undefined })); - onActionComplete(); + deletedDashboardsCache.clear(); + await stateManager.doSearch(); + + showRestoreNotifications(successful, failed); setIsBulkRestoreLoading(false); setIsRestoreModalOpen(false); }; diff --git a/public/app/features/search/state/SearchStateManager.ts b/public/app/features/search/state/SearchStateManager.ts index 525ccefcb04..745eb32a05f 100644 --- a/public/app/features/search/state/SearchStateManager.ts +++ b/public/app/features/search/state/SearchStateManager.ts @@ -248,7 +248,7 @@ export class SearchStateManager extends StateManagerBase { return q; } - private doSearch() { + doSearch() { const trackingInfo = { layout: this.state.layout, starred: this.state.starred, @@ -270,7 +270,7 @@ export class SearchStateManager extends StateManagerBase { const searchTimestamp = Date.now(); const searchPromise = this.state.starred ? searcher.starred(this.lastQuery) : searcher.search(this.lastQuery); - searchPromise + return searchPromise .then((result) => { // Only keep the results if it's was issued after the most recently resolved search. // This prevents results showing out of order if first request is slower than later ones