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