File tree Expand file tree Collapse file tree
extensions/ql-vscode/src/view Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -24,16 +24,18 @@ export type CodePathsProps = {
2424 severity : ResultSeverity ;
2525} ;
2626
27+ const filterIsOpenTelemetry = ( v : boolean ) => v === true ;
28+
2729export const CodePaths = ( {
2830 codeFlows,
2931 ruleDescription,
3032 message,
3133 severity,
3234} : CodePathsProps ) => {
33- const [ isOpen , setIsOpen ] = useStateWithTelemetry (
35+ const [ isOpen , setIsOpen ] = useStateWithTelemetry < boolean > (
3436 false ,
3537 "code-path-is-open" ,
36- ( v ) => v === true ,
38+ filterIsOpenTelemetry ,
3739 ) ;
3840
3941 const linkRef = useRef < HTMLAnchorElement > ( null ) ;
Original file line number Diff line number Diff line change @@ -28,25 +28,28 @@ export function useStateWithTelemetry<S>(
2828 filterTelemetryOnValue ?: ( value : S ) => boolean ,
2929) : [ S , React . Dispatch < S > | React . Dispatch < React . SetStateAction < S > > ] {
3030 const [ value , setter ] = useState < S > ( defaultValue ) ;
31- if ( filterTelemetryOnValue === undefined ) {
32- const setterWithTelemetry = ( x : React . SetStateAction < S > ) => {
33- vscode . postMessage ( {
34- t : "telemetry" ,
35- action : telemetryAction ,
36- } ) ;
37- setter ( x ) ;
38- } ;
39- return [ value , setterWithTelemetry ] ;
40- } else {
41- const setterWithTelemetry = ( x : S ) => {
42- if ( filterTelemetryOnValue ( x ) ) {
31+ const setterWithTelemetry = React . useMemo <
32+ React . Dispatch < S > | React . Dispatch < React . SetStateAction < S > >
33+ > ( ( ) => {
34+ if ( filterTelemetryOnValue === undefined ) {
35+ return ( x : React . SetStateAction < S > ) => {
4336 vscode . postMessage ( {
4437 t : "telemetry" ,
4538 action : telemetryAction ,
4639 } ) ;
47- }
48- setter ( x ) ;
49- } ;
50- return [ value , setterWithTelemetry ] ;
51- }
40+ setter ( x ) ;
41+ } ;
42+ } else {
43+ return ( x : S ) => {
44+ if ( filterTelemetryOnValue ( x ) ) {
45+ vscode . postMessage ( {
46+ t : "telemetry" ,
47+ action : telemetryAction ,
48+ } ) ;
49+ }
50+ setter ( x ) ;
51+ } ;
52+ }
53+ } , [ telemetryAction , filterTelemetryOnValue , setter ] ) ;
54+ return [ value , setterWithTelemetry ] ;
5255}
Original file line number Diff line number Diff line change @@ -94,16 +94,18 @@ type RawResultsTableProps = {
9494 sourceLocationPrefix : string ;
9595} ;
9696
97+ const filterTableExpandedTelemetry = ( v : boolean ) => v === true ;
98+
9799const RawResultsTable = ( {
98100 schema,
99101 results,
100102 fileLinkPrefix,
101103 sourceLocationPrefix,
102104} : RawResultsTableProps ) => {
103- const [ tableExpanded , setTableExpanded ] = useStateWithTelemetry (
105+ const [ tableExpanded , setTableExpanded ] = useStateWithTelemetry < boolean > (
104106 false ,
105107 "raw-results-table-expanded" ,
106- ( v ) => v === true ,
108+ filterTableExpandedTelemetry ,
107109 ) ;
108110 const numOfResultsToShow = tableExpanded
109111 ? results . rows . length
Original file line number Diff line number Diff line change @@ -158,6 +158,8 @@ const isExpandableContentLoaded = (
158158 return resultsLoaded ;
159159} ;
160160
161+ const filterRepoRowExpandedTelemetry = ( v : boolean ) => v === true ;
162+
161163export const RepoRow = ( {
162164 repository,
163165 status,
@@ -168,10 +170,10 @@ export const RepoRow = ({
168170 selected,
169171 onSelectedChange,
170172} : RepoRowProps ) => {
171- const [ isExpanded , setExpanded ] = useStateWithTelemetry (
173+ const [ isExpanded , setExpanded ] = useStateWithTelemetry < boolean > (
172174 false ,
173175 "variant-analysis-repo-row-expanded" ,
174- ( v ) => v === true ,
176+ filterRepoRowExpandedTelemetry ,
175177 ) ;
176178 const resultsLoaded = ! ! interpretedResults || ! ! rawResults ;
177179 const [ resultsLoading , setResultsLoading ] = useState ( false ) ;
@@ -212,7 +214,7 @@ export const RepoRow = ({
212214 setResultsLoading ( false ) ;
213215 setExpanded ( true ) ;
214216 }
215- } , [ resultsLoaded , resultsLoading ] ) ;
217+ } , [ resultsLoaded , resultsLoading , setExpanded ] ) ;
216218
217219 const onClickCheckbox = useCallback ( ( e : React . MouseEvent ) => {
218220 // Prevent calling the onClick event of the container, which would toggle the expanded state
You can’t perform that action at this time.
0 commit comments