11import { Box , Button , Grid , Tab , Tabs , Typography } from '@mui/material'
22import {
3+ ArrayParam ,
34 NumberParam ,
45 StringParam ,
56 useQueryParam ,
@@ -57,6 +58,11 @@ export default function RegressedTestsModal({
5758 NumberParam ,
5859 { updateType : 'replaceIn' }
5960 )
61+ const [ componentFilter = [ ] , setComponentFilter ] = useQueryParam (
62+ 'component' ,
63+ ArrayParam ,
64+ { updateType : 'replaceIn' }
65+ )
6066 const [ , setQuery ] = useQueryParams (
6167 {
6268 regressedModalRow : StringParam ,
@@ -81,6 +87,14 @@ export default function RegressedTestsModal({
8187 )
8288 }
8389
90+ // Filter tests by component if component filter is specified
91+ const filterTestsByComponent = ( tests ) => {
92+ if ( ! componentFilter || componentFilter . length === 0 ) {
93+ return tests
94+ }
95+ return tests . filter ( ( test ) => componentFilter . includes ( test . component ) )
96+ }
97+
8498 const triageEntriesExist = triageEntries . length > 0
8599
86100 return (
@@ -103,14 +117,14 @@ export default function RegressedTestsModal({
103117 </ Tabs >
104118 < RegressedTestsTabPanel activeIndex = { activeTab } index = { 0 } >
105119 < RegressedTestsPanel
106- regressedTests = { unresolvedTests }
120+ regressedTests = { filterTestsByComponent ( unresolvedTests ) }
107121 setTriageActionTaken = { setTriageActionTaken }
108122 filterVals = { filterVals }
109123 />
110124 </ RegressedTestsTabPanel >
111125 < RegressedTestsTabPanel activeIndex = { activeTab } index = { 1 } >
112126 < RegressedTestsPanel
113- regressedTests = { regressedTests }
127+ regressedTests = { filterTestsByComponent ( regressedTests ) }
114128 setTriageActionTaken = { setTriageActionTaken }
115129 filterVals = { filterVals }
116130 />
@@ -119,14 +133,14 @@ export default function RegressedTestsModal({
119133 < RegressedTestsTabPanel activeIndex = { activeTab } index = { 2 } >
120134 < TriagedTestsPanel
121135 triageEntries = { triageEntries }
122- allRegressedTests = { allRegressedTests }
136+ allRegressedTests = { filterTestsByComponent ( allRegressedTests ) }
123137 filterVals = { filterVals }
124138 />
125139 </ RegressedTestsTabPanel >
126140 ) }
127141 < RegressedTestsTabPanel activeIndex = { activeTab } index = { 3 } >
128142 < RegressedTestsPanel
129- regressedTests = { allRegressedTests }
143+ regressedTests = { filterTestsByComponent ( allRegressedTests ) }
130144 setTriageActionTaken = { setTriageActionTaken }
131145 filterVals = { filterVals }
132146 />
0 commit comments