Teach extension to accept ShowInterpretedPageMsg
This commit is contained in:
@@ -116,8 +116,10 @@ export interface SetStateMsg {
|
||||
export interface ShowInterpretedPageMsg {
|
||||
t: 'showInterpretedPage';
|
||||
interpretation: Interpretation;
|
||||
database: DatabaseInfo;
|
||||
metadata?: QueryMetadata;
|
||||
pageNumber: number;
|
||||
totalPages: number;
|
||||
numPages: number;
|
||||
}
|
||||
|
||||
/** Advance to the next or previous path no in the path viewer */
|
||||
|
||||
@@ -392,6 +392,9 @@ export class InterfaceManager extends DisposableObject {
|
||||
public async showPageOfInterpretedResults(
|
||||
pageNumber: number
|
||||
): Promise<void> {
|
||||
if (this._displayedQuery === undefined) {
|
||||
throw new Error(`Trying to show interpreted results but displayed query was undefined`);
|
||||
}
|
||||
if (this._interpretation === undefined) {
|
||||
throw new Error(`Trying to show interpreted results but interpretation was undefined`);
|
||||
}
|
||||
@@ -401,6 +404,8 @@ export class InterfaceManager extends DisposableObject {
|
||||
await this.postMessage({
|
||||
t: 'showInterpretedPage',
|
||||
interpretation: this.getPageOfInterpretedResults(pageNumber),
|
||||
database: this._displayedQuery.database,
|
||||
metadata: this._displayedQuery.query.metadata,
|
||||
pageNumber,
|
||||
totalPages: Math.ceil(this._interpretation.sarif.runs[0].results.length / INTERPRETED_RESULTS_PAGE_SIZE),
|
||||
});
|
||||
|
||||
@@ -17,6 +17,7 @@ import {
|
||||
NavigatePathMsg,
|
||||
QueryMetadata,
|
||||
ResultsPaths,
|
||||
ALERTS_TABLE_NAME,
|
||||
} from '../interface-types';
|
||||
import { EventHandlers as EventHandlerList } from './event-handler-list';
|
||||
import { ResultTables } from './result-tables';
|
||||
@@ -196,7 +197,23 @@ class App extends React.Component<{}, ResultsViewState> {
|
||||
this.loadResults();
|
||||
break;
|
||||
case 'showInterpretedPage':
|
||||
// TODO: show interpreted page
|
||||
this.updateStateWithNewResultsInfo({
|
||||
resultsPath: '...', // XXX
|
||||
parsedResultSets: {
|
||||
t: 'ExtensionParsed',
|
||||
numPages: msg.numPages,
|
||||
resultSetNames: ['alerts'], // XXX get the other result set names from the extension
|
||||
pageNumber: msg.pageNumber,
|
||||
resultSet: undefined as any, // XXX this is awkward
|
||||
selectedTable: ALERTS_TABLE_NAME,
|
||||
},
|
||||
origResultsPaths: undefined as any,
|
||||
sortedResultsMap: undefined as any,
|
||||
database: msg.database,
|
||||
interpretation: msg.interpretation,
|
||||
shouldKeepOldResultsWhileRendering: false,
|
||||
metadata: msg.metadata,
|
||||
});
|
||||
break;
|
||||
case 'resultsUpdating':
|
||||
this.setState({
|
||||
|
||||
Reference in New Issue
Block a user