11import type {
22 DatabaseInfo ,
3+ EditorSelection ,
4+ FileFilteredResults ,
35 Interpretation ,
46 RawResultsSortState ,
57 QueryMetadata ,
@@ -44,6 +46,8 @@ interface ResultTablesProps {
4446 queryPath : string ;
4547 selectedTable : string ;
4648 onSelectedTableChange : ( tableName : string ) => void ;
49+ selectionFilter : EditorSelection | undefined ;
50+ fileFilteredResults : FileFilteredResults | undefined ;
4751 selectionFilterEnabled : boolean ;
4852 onSelectionFilterEnabledChange : ( value : boolean ) => void ;
4953 problemsViewSelected : boolean ;
@@ -108,6 +112,8 @@ export function ResultTables(props: ResultTablesProps) {
108112 sortStates,
109113 selectedTable,
110114 onSelectedTableChange,
115+ selectionFilter,
116+ fileFilteredResults,
111117 selectionFilterEnabled,
112118 onSelectionFilterEnabledChange,
113119 problemsViewSelected,
@@ -186,6 +192,10 @@ export function ResultTables(props: ResultTablesProps) {
186192
187193 const resultSetName = resultSet ? getResultSetName ( resultSet ) : undefined ;
188194
195+ // True if file-filtered results are still loading from the extension
196+ const isLoadingFilteredResults =
197+ selectionFilter != null && fileFilteredResults == null ;
198+
189199 return (
190200 < div >
191201 < ResultTablesHeader { ...props } selectedTable = { selectedTable } />
@@ -215,7 +225,8 @@ export function ResultTables(props: ResultTablesProps) {
215225 </ span >
216226 ) : null }
217227 </ div >
218- { resultSet && resultSetName && (
228+ { isLoadingFilteredResults && < span > Loading filtered results…</ span > }
229+ { ! isLoadingFilteredResults && resultSet && resultSetName && (
219230 < ResultTable
220231 key = { resultSetName }
221232 resultSet = { resultSet }
@@ -229,6 +240,7 @@ export function ResultTables(props: ResultTablesProps) {
229240 sendTelemetry ( "local-results-show-raw-results" ) ;
230241 } }
231242 offset = { offset }
243+ selectionFilter = { selectionFilter }
232244 />
233245 ) }
234246 </ div >
0 commit comments