@@ -200,7 +200,7 @@ const repositoryResults: VariantAnalysisScannedRepositoryResult[] = [
200200 }
201201] ;
202202
203- function getContainerContents ( variantAnalysis : VariantAnalysisDomainModel ) {
203+ function getContainerContents ( variantAnalysis : VariantAnalysisDomainModel , repoResults : VariantAnalysisScannedRepositoryResult [ ] ) {
204204 if ( variantAnalysis . actionsWorkflowRunId === undefined ) {
205205 return < VariantAnalysisLoading /> ;
206206 }
@@ -218,27 +218,35 @@ function getContainerContents(variantAnalysis: VariantAnalysisDomainModel) {
218218 />
219219 < VariantAnalysisOutcomePanels
220220 variantAnalysis = { variantAnalysis }
221- repositoryResults = { repositoryResults }
221+ repositoryResults = { repoResults }
222222 />
223223 </ >
224224 ) ;
225225}
226226
227227type Props = {
228228 variantAnalysis ?: VariantAnalysisDomainModel ;
229+ repoResults ?: VariantAnalysisScannedRepositoryResult [ ] ;
229230}
230231
231232export function VariantAnalysis ( {
232233 variantAnalysis : initialVariantAnalysis = variantAnalysis ,
234+ repoResults : initialRepoResults = repositoryResults ,
233235} : Props ) : JSX . Element {
234236 const [ variantAnalysis , setVariantAnalysis ] = useState < VariantAnalysisDomainModel > ( initialVariantAnalysis ) ;
237+ const [ repoResults , setRepoResults ] = useState < VariantAnalysisScannedRepositoryResult [ ] > ( initialRepoResults ) ;
235238
236239 useEffect ( ( ) => {
237240 window . addEventListener ( 'message' , ( evt : MessageEvent ) => {
238241 if ( evt . origin === window . origin ) {
239242 const msg : ToVariantAnalysisMessage = evt . data ;
240243 if ( msg . t === 'setVariantAnalysis' ) {
241244 setVariantAnalysis ( msg . variantAnalysis ) ;
245+ } else if ( msg . t === 'setRepoResults' ) {
246+ setRepoResults ( oldRepoResults => {
247+ const newRepoIds = msg . repoResults . map ( r => r . repositoryId ) ;
248+ return [ ...oldRepoResults . filter ( v => ! newRepoIds . includes ( v . repositoryId ) ) , ...msg . repoResults ] ;
249+ } ) ;
242250 }
243251 } else {
244252 // sanitize origin
@@ -250,7 +258,7 @@ export function VariantAnalysis({
250258
251259 return (
252260 < VariantAnalysisContainer >
253- { getContainerContents ( variantAnalysis ) }
261+ { getContainerContents ( variantAnalysis , repoResults ) }
254262 </ VariantAnalysisContainer >
255263 ) ;
256264}
0 commit comments