Skip to content

Commit 0b32961

Browse files
committed
Unbreak typing page number into field
1 parent e0a58a8 commit 0b32961

File tree

2 files changed

+8
-15
lines changed

2 files changed

+8
-15
lines changed

extensions/ql-vscode/src/view/result-tables.tsx

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,13 @@ function renderResultCountString(resultSet: ResultSet): JSX.Element {
6868
export class ResultTables
6969
extends React.Component<ResultTablesProps, ResultTablesState> {
7070

71-
private static _getResultSetsOfProps(props: ResultTablesProps): ResultSet[] {
71+
private getResultSets(): ResultSet[] {
7272
const resultSets: ResultSet[] =
7373
// eslint-disable-next-line @typescript-eslint/ban-ts-ignore
7474
// @ts-ignore 2783
75-
props.rawResultSets.map((rs) => ({ t: 'RawResultSet', ...rs }));
75+
this.props.rawResultSets.map((rs) => ({ t: 'RawResultSet', ...rs }));
7676

77-
if (props.interpretation != undefined) {
77+
if (this.props.interpretation != undefined) {
7878
resultSets.push({
7979
t: 'SarifResultSet',
8080
// FIXME: The values of version, columns, tupleCount are
@@ -83,16 +83,12 @@ export class ResultTables
8383
// out.
8484
schema: { name: ALERTS_TABLE_NAME, version: 0, columns: [], tupleCount: 1 },
8585
name: ALERTS_TABLE_NAME,
86-
...props.interpretation,
86+
...this.props.interpretation,
8787
});
8888
}
8989
return resultSets;
9090
}
9191

92-
private getResultSets(): ResultSet[] {
93-
return ResultTables._getResultSetsOfProps(this.props);
94-
}
95-
9692
private getResultSetNames(resultSets: ResultSet[]): string[] {
9793
if (this.props.parsedResultSets.t === 'ExtensionParsed') {
9894
return this.props.parsedResultSets.resultSetNames.concat([ALERTS_TABLE_NAME]);
@@ -114,12 +110,7 @@ export class ResultTables
114110

115111
constructor(props: ResultTablesProps) {
116112
super(props);
117-
this.state = ResultTables.getDerivedStateFromProps(props);
118-
}
119-
120-
// Static lifecycle method which is called by react when props change.
121-
static getDerivedStateFromProps(props: Readonly<ResultTablesProps>, _prevState?: ResultTablesState): ResultTablesState {
122-
const selectedTable = props.parsedResultSets.selectedTable || getDefaultResultSet(ResultTables._getResultSetsOfProps(props));
113+
const selectedTable = props.parsedResultSets.selectedTable || getDefaultResultSet(this.getResultSets());
123114
let selectedPage: string;
124115

125116
switch (props.parsedResultSets.t) {
@@ -130,7 +121,7 @@ export class ResultTables
130121
selectedPage = '';
131122
break;
132123
}
133-
return { selectedTable, selectedPage };
124+
this.state = { selectedTable, selectedPage };
134125
}
135126

136127
private onTableSelectionChange = (event: React.ChangeEvent<HTMLSelectElement>): void => {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,8 +368,10 @@ class App extends React.Component<{}, ResultsViewState> {
368368
displayedResults.resultsInfo !== null
369369
) {
370370
const parsedResultSets = displayedResults.resultsInfo.parsedResultSets;
371+
const key = (parsedResultSets.t === 'ExtensionParsed' ? (parsedResultSets.selectedTable || '') + parsedResultSets.pageNumber : '');
371372
return (
372373
<ResultTables
374+
key={key}
373375
parsedResultSets={parsedResultSets}
374376
rawResultSets={displayedResults.results.resultSets}
375377
interpretation={

0 commit comments

Comments
 (0)