1
- import cx from 'classnames' ;
2
1
import * as React from 'react' ;
3
2
import { DatabaseInfo , Interpretation , SortState } from '../interface-types' ;
4
3
import { PathTable } from './alert-table' ;
5
4
import { RawTable } from './raw-results-table' ;
6
- import { ResultTableProps , toggleDiagnosticsClassName , toggleDiagnosticsSelectedClassName , tableSelectionHeaderClassName } from './result-table-utils' ;
5
+ import { ResultTableProps , tableSelectionHeaderClassName , toggleDiagnosticsClassName } from './result-table-utils' ;
7
6
import { ResultSet , vscode } from './results' ;
8
7
9
8
/**
@@ -76,14 +75,26 @@ export class ResultTables
76
75
}
77
76
78
77
render ( ) : React . ReactNode {
79
- const selectedTable = this . state . selectedTable ;
78
+ const { selectedTable } = this . state ;
80
79
const resultSets = this . getResultSets ( ) ;
81
80
const { database, resultsPath, kind } = this . props ;
82
81
83
82
// Only show the Problems view display checkbox for the alerts table.
84
- const toggleDiagnosticsClass = cx ( toggleDiagnosticsClassName , {
85
- [ toggleDiagnosticsSelectedClassName ] : selectedTable === ALERTS_TABLE_NAME
86
- } ) ;
83
+ const diagnosticsCheckBox = selectedTable === ALERTS_TABLE_NAME ?
84
+ < div className = { toggleDiagnosticsClassName } >
85
+ < input type = "checkbox" id = "toggle-diagnostics" name = "toggle-diagnostics" onChange = { ( e ) => {
86
+ if ( resultsPath !== undefined ) {
87
+ vscode . postMessage ( {
88
+ t : 'toggleDiagnostics' ,
89
+ resultsPath : resultsPath ,
90
+ databaseUri : database . databaseUri ,
91
+ visible : e . target . checked ,
92
+ kind : kind
93
+ } ) ;
94
+ }
95
+ } } />
96
+ < label htmlFor = "toggle-diagnostics" > Show results in Problems view</ label >
97
+ </ div > : undefined ;
87
98
88
99
return < div >
89
100
< div className = { tableSelectionHeaderClassName } >
@@ -96,20 +107,7 @@ export class ResultTables
96
107
)
97
108
}
98
109
</ select >
99
- < div className = { toggleDiagnosticsClass } >
100
- < input type = "checkbox" id = "toggle-diagnostics" name = "toggle-diagnostics" onChange = { ( e ) => {
101
- if ( resultsPath !== undefined ) {
102
- vscode . postMessage ( {
103
- t : 'toggleDiagnostics' ,
104
- resultsPath : resultsPath ,
105
- databaseUri : database . databaseUri ,
106
- visible : e . target . checked ,
107
- kind : kind
108
- } ) ;
109
- }
110
- } } />
111
- < label htmlFor = "toggle-diagnostics" > Show results in Problems view</ label >
112
- </ div >
110
+ { diagnosticsCheckBox }
113
111
{
114
112
this . props . isLoadingNewResults ?
115
113
< span className = { UPDATING_RESULTS_TEXT_CLASS_NAME } > Updating results…</ span >
@@ -118,9 +116,12 @@ export class ResultTables
118
116
</ div >
119
117
{
120
118
resultSets . map ( resultSet =>
121
- < ResultTable key = { resultSet . schema . name } resultSet = { resultSet }
122
- databaseUri = { this . props . database . databaseUri } selected = { resultSet . schema . name === selectedTable }
123
- resultsPath = { this . props . resultsPath } sortState = { this . props . sortStates . get ( resultSet . schema . name ) } />
119
+ resultSet . schema . name === selectedTable ?
120
+ < ResultTable key = { resultSet . schema . name } resultSet = { resultSet }
121
+ databaseUri = { this . props . database . databaseUri }
122
+ resultsPath = { this . props . resultsPath }
123
+ sortState = { this . props . sortStates . get ( resultSet . schema . name ) } /> :
124
+ undefined
124
125
)
125
126
}
126
127
</ div > ;
@@ -137,10 +138,10 @@ class ResultTable extends React.Component<ResultTableProps, {}> {
137
138
const { resultSet } = this . props ;
138
139
switch ( resultSet . t ) {
139
140
case 'RawResultSet' : return < RawTable
140
- selected = { this . props . selected } resultSet = { resultSet } databaseUri = { this . props . databaseUri }
141
+ resultSet = { resultSet } databaseUri = { this . props . databaseUri }
141
142
resultsPath = { this . props . resultsPath } sortState = { this . props . sortState } /> ;
142
143
case 'SarifResultSet' : return < PathTable
143
- selected = { this . props . selected } resultSet = { resultSet } databaseUri = { this . props . databaseUri }
144
+ resultSet = { resultSet } databaseUri = { this . props . databaseUri }
144
145
resultsPath = { this . props . resultsPath } /> ;
145
146
}
146
147
}
0 commit comments