@@ -139,6 +139,40 @@ export class ResultTables extends React.Component<
139139 } ;
140140 }
141141
142+ handleMessage ( msg : IntoResultsViewMsg ) : void {
143+ switch ( msg . t ) {
144+ case "untoggleShowProblems" :
145+ this . setState ( {
146+ problemsViewSelected : false ,
147+ } ) ;
148+ break ;
149+
150+ default :
151+ // noop
152+ }
153+ }
154+
155+ private vscodeMessageHandler ( evt : MessageEvent ) {
156+ // sanitize origin
157+ const origin = evt . origin . replace ( / \n | \r / g, "" ) ;
158+ evt . origin === window . origin
159+ ? this . handleMessage ( evt . data as IntoResultsViewMsg )
160+ : console . error ( `Invalid event origin ${ origin } ` ) ;
161+ }
162+
163+ // TODO: Duplicated from results.tsx consider a way to
164+ // avoid this duplication
165+ componentDidMount ( ) : void {
166+ this . vscodeMessageHandler = this . vscodeMessageHandler . bind ( this ) ;
167+ window . addEventListener ( "message" , this . vscodeMessageHandler ) ;
168+ }
169+
170+ componentWillUnmount ( ) : void {
171+ if ( this . vscodeMessageHandler ) {
172+ window . removeEventListener ( "message" , this . vscodeMessageHandler ) ;
173+ }
174+ }
175+
142176 componentDidUpdate (
143177 prevProps : Readonly < ResultTablesProps > ,
144178 prevState : Readonly < ResultTablesState > ,
@@ -293,40 +327,6 @@ export class ResultTables extends React.Component<
293327 </ div >
294328 ) ;
295329 }
296-
297- handleMessage ( msg : IntoResultsViewMsg ) : void {
298- switch ( msg . t ) {
299- case "untoggleShowProblems" :
300- this . setState ( {
301- problemsViewSelected : false ,
302- } ) ;
303- break ;
304-
305- default :
306- // noop
307- }
308- }
309-
310- private vscodeMessageHandler ( evt : MessageEvent ) {
311- // sanitize origin
312- const origin = evt . origin . replace ( / \n | \r / g, "" ) ;
313- evt . origin === window . origin
314- ? this . handleMessage ( evt . data as IntoResultsViewMsg )
315- : console . error ( `Invalid event origin ${ origin } ` ) ;
316- }
317-
318- // TODO: Duplicated from results.tsx consider a way to
319- // avoid this duplication
320- componentDidMount ( ) : void {
321- this . vscodeMessageHandler = this . vscodeMessageHandler . bind ( this ) ;
322- window . addEventListener ( "message" , this . vscodeMessageHandler ) ;
323- }
324-
325- componentWillUnmount ( ) : void {
326- if ( this . vscodeMessageHandler ) {
327- window . removeEventListener ( "message" , this . vscodeMessageHandler ) ;
328- }
329- }
330330}
331331
332332function getDefaultResultSet ( resultSets : readonly ResultSet [ ] ) : string {
0 commit comments