File tree Expand file tree Collapse file tree 1 file changed +26
-1
lines changed
extensions/ql-vscode/src/view/variant-analysis Expand file tree Collapse file tree 1 file changed +26
-1
lines changed Original file line number Diff line number Diff line change 11import * as React from 'react' ;
2+ import { useEffect , useState } from 'react' ;
23
4+ import { ToVariantAnalysisMessage } from '../../pure/interface-types' ;
35import {
46 VariantAnalysis as VariantAnalysisDomainModel ,
57 VariantAnalysisQueryLanguage ,
@@ -222,7 +224,30 @@ function getContainerContents(variantAnalysis: VariantAnalysisDomainModel) {
222224 ) ;
223225}
224226
225- export function VariantAnalysis ( ) : JSX . Element {
227+ type Props = {
228+ variantAnalysis ?: VariantAnalysisDomainModel ;
229+ }
230+
231+ export function VariantAnalysis ( {
232+ variantAnalysis : initialVariantAnalysis = variantAnalysis ,
233+ } : Props ) : JSX . Element {
234+ const [ variantAnalysis , setVariantAnalysis ] = useState < VariantAnalysisDomainModel > ( initialVariantAnalysis ) ;
235+
236+ useEffect ( ( ) => {
237+ window . addEventListener ( 'message' , ( evt : MessageEvent ) => {
238+ if ( evt . origin === window . origin ) {
239+ const msg : ToVariantAnalysisMessage = evt . data ;
240+ if ( msg . t === 'setVariantAnalysis' ) {
241+ setVariantAnalysis ( msg . variantAnalysis ) ;
242+ }
243+ } else {
244+ // sanitize origin
245+ const origin = evt . origin . replace ( / \n | \r / g, '' ) ;
246+ console . error ( `Invalid event origin ${ origin } ` ) ;
247+ }
248+ } ) ;
249+ } ) ;
250+
226251 return (
227252 < VariantAnalysisContainer >
228253 { getContainerContents ( variantAnalysis ) }
You can’t perform that action at this time.
0 commit comments