1- import cx from 'classnames' ;
21import * as React from 'react' ;
32import { DatabaseInfo , Interpretation , SortState } from '../interface-types' ;
43import { PathTable } from './alert-table' ;
54import { RawTable } from './raw-results-table' ;
6- import { ResultTableProps , toggleDiagnosticsClassName , toggleDiagnosticsSelectedClassName , tableSelectionHeaderClassName } from './result-table-utils' ;
5+ import { ResultTableProps , tableSelectionHeaderClassName , toggleDiagnosticsClassName } from './result-table-utils' ;
76import { ResultSet , vscode } from './results' ;
87
98/**
@@ -76,14 +75,26 @@ export class ResultTables
7675 }
7776
7877 render ( ) : React . ReactNode {
79- const selectedTable = this . state . selectedTable ;
78+ const { selectedTable } = this . state ;
8079 const resultSets = this . getResultSets ( ) ;
8180 const { database, resultsPath, kind } = this . props ;
8281
8382 // 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 ;
8798
8899 return < div >
89100 < div className = { tableSelectionHeaderClassName } >
@@ -96,20 +107,7 @@ export class ResultTables
96107 )
97108 }
98109 </ 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 }
113111 {
114112 this . props . isLoadingNewResults ?
115113 < span className = { UPDATING_RESULTS_TEXT_CLASS_NAME } > Updating results…</ span >
@@ -118,9 +116,12 @@ export class ResultTables
118116 </ div >
119117 {
120118 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
124125 )
125126 }
126127 </ div > ;
@@ -137,10 +138,10 @@ class ResultTable extends React.Component<ResultTableProps, {}> {
137138 const { resultSet } = this . props ;
138139 switch ( resultSet . t ) {
139140 case 'RawResultSet' : return < RawTable
140- selected = { this . props . selected } resultSet = { resultSet } databaseUri = { this . props . databaseUri }
141+ resultSet = { resultSet } databaseUri = { this . props . databaseUri }
141142 resultsPath = { this . props . resultsPath } sortState = { this . props . sortState } /> ;
142143 case 'SarifResultSet' : return < PathTable
143- selected = { this . props . selected } resultSet = { resultSet } databaseUri = { this . props . databaseUri }
144+ resultSet = { resultSet } databaseUri = { this . props . databaseUri }
144145 resultsPath = { this . props . resultsPath } /> ;
145146 }
146147 }
0 commit comments