@@ -15,7 +15,7 @@ import {
1515import { PathTable } from './alert-table' ;
1616import { RawTable } from './raw-results-table' ;
1717import { ResultTableProps , tableSelectionHeaderClassName , toggleDiagnosticsClassName , alertExtrasClassName } from './result-table-utils' ;
18- import { ParsedResultSets , ExtensionParsedResultSets } from '../adapt' ;
18+ import { ParsedResultSets } from '../adapt' ;
1919import { vscode } from './vscode-api' ;
2020
2121
@@ -90,49 +90,23 @@ export class ResultTables
9090 }
9191
9292 private getResultSetNames ( resultSets : ResultSet [ ] ) : string [ ] {
93- if ( this . props . parsedResultSets . t === 'ExtensionParsed' ) {
94- return this . props . parsedResultSets . resultSetNames . concat ( [ ALERTS_TABLE_NAME ] ) ;
95- }
96- else {
97- return resultSets . map ( resultSet => resultSet . schema . name ) ;
98- }
99- }
100-
101- /**
102- * Holds if we have a result set obtained from the extension that came
103- * from the ExtensionParsed branch of ParsedResultSets. This is evidence
104- * that the user has the experimental flag turned on that allows extension-side
105- * bqrs parsing.
106- */
107- paginationAllowed ( ) : boolean {
108- return this . props . parsedResultSets . t === 'ExtensionParsed' ;
93+ return this . props . parsedResultSets . resultSetNames . concat ( [ ALERTS_TABLE_NAME ] ) ;
10994 }
11095
11196 constructor ( props : ResultTablesProps ) {
11297 super ( props ) ;
11398 const selectedTable = props . parsedResultSets . selectedTable || getDefaultResultSet ( this . getResultSets ( ) ) ;
114- let selectedPage : string ;
115-
116- switch ( props . parsedResultSets . t ) {
117- case 'ExtensionParsed' :
118- selectedPage = ( props . parsedResultSets . pageNumber + 1 ) + '' ;
119- break ;
120- }
99+ const selectedPage = ( props . parsedResultSets . pageNumber + 1 ) + '' ;
121100 this . state = { selectedTable, selectedPage } ;
122101 }
123102
124103 private onTableSelectionChange = ( event : React . ChangeEvent < HTMLSelectElement > ) : void => {
125104 const selectedTable = event . target . value ;
126-
127- if ( this . paginationAllowed ( ) ) {
128- vscode . postMessage ( {
129- t : 'changePage' ,
130- pageNumber : 0 ,
131- selectedTable
132- } ) ;
133- }
134- else
135- this . setState ( { selectedTable } ) ;
105+ vscode . postMessage ( {
106+ t : 'changePage' ,
107+ pageNumber : 0 ,
108+ selectedTable
109+ } ) ;
136110 }
137111
138112 private alertTableExtras ( ) : JSX . Element | undefined {
@@ -161,13 +135,11 @@ export class ResultTables
161135
162136 getOffset ( ) : number {
163137 const { parsedResultSets } = this . props ;
164- switch ( parsedResultSets . t ) {
165- case 'ExtensionParsed' :
166- return parsedResultSets . pageNumber * RAW_RESULTS_PAGE_SIZE ;
167- }
138+ return parsedResultSets . pageNumber * RAW_RESULTS_PAGE_SIZE ;
168139 }
169140
170- renderPageButtons ( resultSets : ExtensionParsedResultSets ) : JSX . Element {
141+ renderPageButtons ( ) : JSX . Element {
142+ const { parsedResultSets } = this . props ;
171143 const selectedTable = this . state . selectedTable ;
172144
173145 // FIXME: The extension, not the view, should be in charge of deciding whether to initially show
@@ -176,7 +148,7 @@ export class ResultTables
176148 // not interpreted pages, because the extension doesn't know the view will default to showing alerts
177149 // instead.
178150 const numPages = selectedTable == ALERTS_TABLE_NAME ?
179- resultSets . numInterpretedPages : resultSets . numPages ;
151+ parsedResultSets . numInterpretedPages : parsedResultSets . numPages ;
180152
181153 const onChange = ( e : React . ChangeEvent < HTMLInputElement > ) => {
182154 this . setState ( { selectedPage : e . target . value } ) ;
@@ -196,14 +168,14 @@ export class ResultTables
196168 const prevPage = ( e : React . MouseEvent < HTMLButtonElement , MouseEvent > ) => {
197169 vscode . postMessage ( {
198170 t : 'changePage' ,
199- pageNumber : Math . max ( resultSets . pageNumber - 1 , 0 ) ,
171+ pageNumber : Math . max ( parsedResultSets . pageNumber - 1 , 0 ) ,
200172 selectedTable,
201173 } ) ;
202174 } ;
203175 const nextPage = ( e : React . MouseEvent < HTMLButtonElement , MouseEvent > ) => {
204176 vscode . postMessage ( {
205177 t : 'changePage' ,
206- pageNumber : Math . min ( resultSets . pageNumber + 1 , numPages - 1 ) ,
178+ pageNumber : Math . min ( parsedResultSets . pageNumber + 1 , numPages - 1 ) ,
207179 selectedTable,
208180 } ) ;
209181 } ;
@@ -225,13 +197,6 @@ export class ResultTables
225197 </ span > ;
226198 }
227199
228- renderButtons ( ) : JSX . Element {
229- if ( this . props . parsedResultSets . t === 'ExtensionParsed' && this . paginationAllowed ( ) )
230- return this . renderPageButtons ( this . props . parsedResultSets ) ;
231- else
232- return < span /> ;
233- }
234-
235200 render ( ) : React . ReactNode {
236201 const { selectedTable } = this . state ;
237202 const resultSets = this . getResultSets ( ) ;
@@ -245,7 +210,7 @@ export class ResultTables
245210 resultSetNames . map ( name => < option key = { name } value = { name } > { name } </ option > ) ;
246211
247212 return < div >
248- { this . renderButtons ( ) }
213+ { this . renderPageButtons ( ) }
249214 < div className = { tableSelectionHeaderClassName } >
250215 < select value = { selectedTable } onChange = { this . onTableSelectionChange } >
251216 { resultSetOptions }
0 commit comments