Skip to content

Commit fe02a58

Browse files
committed
Teach extension to accept ShowInterpretedPageMsg
1 parent 4030ddb commit fe02a58

File tree

3 files changed

+26
-2
lines changed

3 files changed

+26
-2
lines changed

extensions/ql-vscode/src/interface-types.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,10 @@ export interface SetStateMsg {
116116
export interface ShowInterpretedPageMsg {
117117
t: 'showInterpretedPage';
118118
interpretation: Interpretation;
119+
database: DatabaseInfo;
120+
metadata?: QueryMetadata;
119121
pageNumber: number;
120-
totalPages: number;
122+
numPages: number;
121123
}
122124

123125
/** Advance to the next or previous path no in the path viewer */

extensions/ql-vscode/src/interface.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,9 @@ export class InterfaceManager extends DisposableObject {
392392
public async showPageOfInterpretedResults(
393393
pageNumber: number
394394
): Promise<void> {
395+
if (this._displayedQuery === undefined) {
396+
throw new Error(`Trying to show interpreted results but displayed query was undefined`);
397+
}
395398
if (this._interpretation === undefined) {
396399
throw new Error(`Trying to show interpreted results but interpretation was undefined`);
397400
}
@@ -401,6 +404,8 @@ export class InterfaceManager extends DisposableObject {
401404
await this.postMessage({
402405
t: 'showInterpretedPage',
403406
interpretation: this.getPageOfInterpretedResults(pageNumber),
407+
database: this._displayedQuery.database,
408+
metadata: this._displayedQuery.query.metadata,
404409
pageNumber,
405410
totalPages: Math.ceil(this._interpretation.sarif.runs[0].results.length / INTERPRETED_RESULTS_PAGE_SIZE),
406411
});

extensions/ql-vscode/src/view/results.tsx

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
NavigatePathMsg,
1818
QueryMetadata,
1919
ResultsPaths,
20+
ALERTS_TABLE_NAME,
2021
} from '../interface-types';
2122
import { EventHandlers as EventHandlerList } from './event-handler-list';
2223
import { ResultTables } from './result-tables';
@@ -196,7 +197,23 @@ class App extends React.Component<{}, ResultsViewState> {
196197
this.loadResults();
197198
break;
198199
case 'showInterpretedPage':
199-
// TODO: show interpreted page
200+
this.updateStateWithNewResultsInfo({
201+
resultsPath: '...', // XXX
202+
parsedResultSets: {
203+
t: 'ExtensionParsed',
204+
numPages: msg.numPages,
205+
resultSetNames: ['alerts'], // XXX get the other result set names from the extension
206+
pageNumber: msg.pageNumber,
207+
resultSet: undefined as any, // XXX this is awkward
208+
selectedTable: ALERTS_TABLE_NAME,
209+
},
210+
origResultsPaths: undefined as any,
211+
sortedResultsMap: undefined as any,
212+
database: msg.database,
213+
interpretation: msg.interpretation,
214+
shouldKeepOldResultsWhileRendering: false,
215+
metadata: msg.metadata,
216+
});
200217
break;
201218
case 'resultsUpdating':
202219
this.setState({

0 commit comments

Comments
 (0)